Date: prev next · Thread: first prev next last
2021 Archives by date, by thread · List index


Ciao ho cambiato mail perché il server di posta usato nella lista
precedente fa le bizze e non riesco a spedire nulla.

Le mie risposte non so dove siano finite ma provo a riassumerle.

L'esempio riportato in Help non è funzionante. Nel senso che manca
qualcosa per cui non funziona. Se si scarica la documentazione - in
inglese - di calc vai al capitolo 12 - Macros e li trovi tutto quello
che serve sapere sulle macro. questo è il link
https://wiki.documentfoundation.org/Documentation/Publications#How-tos_and_Tutorials
<https://wiki.documentfoundation.org/Documentation/Publications#How-tos_and_Tutorials>

Comunque vediamo come si fa.

Apri calc e strumenti -> macro -> organizza macro -> basic. Si apre una
scheda Macro personali e in evidenza c'è Standard- Seleziona gestione e
apre una nuova scheda e seleziona nuova e assegna un nome. Torni alla
scheda precedente e selezioni il nome creato e clicca su modifica. Si
apre basic IDE con tre elementi

REM, sub main, end sub. Inserisci tra REM e SUB main 'option Explicit'.
Senza questo riceverai un errore. Dopo end sub inserisci la tua funzione.

Questo è il risultato per VOL

*REM  *****  volume  *******
**option Explicit**
* *
**Sub Main**
* *
**End Sub**
**Rem calcolo volume**
**function vol (a,b,c)**
**  vol=(a*b*c)**
**end function*

Salva e poi richiama VOL con questa sintassi =VOL(a;b;c) Applicata al
tuo esempio risultato 1000  -5*10*20=1000

Ho provato e si possono aggiungere altre funzioni inserendole una dopo
l'altra. Si vedrà sulla sinistra dopo il salva la lsita delle funzioni
inserite

Nello stesso capitolo c'è come si fa. L'altra strada è quella di seguire
quanto ho descritto assegnando un nuovo nome.

Ho preso una funzione non funzionante cancellandola e ho inserito le
altre due funzioni. Ovvio che si può procedere come descritto sopra ma
visto che avevo qualcosa di non funzionante ho scelto questa scorciatoia

Ecco il risultato

*rem guadagno, scontato**
**option Explicit**
**sub main**
**end sub**
**REM **** GUAD calcola il guadagno dati costi c e ricavi r *******
**
**Function GUAD(c,r)**
**
**guad=(r-c)/c**
**
**End Function**
**
**REM *** ESCNTXY quanto é scontato x rispetto a y ******
**
**Function ESCNTXY(x,y)**
**
**ESCNTXY=(y-x)/y**
**
**End Function *

Il formalismo è sempre lo stesso coi parametri separati da ;
Provato col tuo esempio GUAD con a1=5 e c1=20 risultato 3, l'altra con a1=5 e B1=10 risultato 0,5
Naturalmente si possono inserire righe di programmazione. Ad esempio controllando i parametri 
oppure impostando i colori
Spero di essere stato utile
Gian Paolo Marcolongo 


Il 02/09/21 22:05, Daniele Zambelli ha scritto:
Il giorno mar 31 ago 2021 alle ore 17:56 Aldo Colamartino
<a.colamartino@gmail.com> ha scritto:
[...]
VOL(5,10,20) → mi restituisce Err:509

VOL(A1,B1,C1) → mi restituisce Err:501


GUAD(5,10) → mi restituisce “Errore di runtime BASIC: l’argomento non é
opzionale”
Purtroppo non posso esserti di grande aiuto, ma qui sembra che prenda
5,10 come un unico numero.
Forse basta lo spazio dopo la virgola o mettere un punto e virgola al
posto della virgola.

Ciao


-- 
Come cancellarsi: E-mail users+unsubscribe@it.libreoffice.org
Problemi? https://it.libreoffice.org/supporto/mailing-lists/come-cancellarsi/
Linee guida per postare + altro: https://wiki.documentfoundation.org/Local_Mailing_Lists/it
Archivio della lista: https://listarchives.libreoffice.org/it/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.