Pannello di Controllo Moderatore ]

Una mano per una macro su calc

Discussioni sull'applicazione per i fogli di calcolo

Una mano per una macro su calc

Messaggioda nemonemis » sabato 22 giugno 2019, 20:50

Salve mi servirebbe una mano a provare a scrivere una macro da inserire in calc .... in poche parole devo poter inserire un numero che va da 1 a + 100000 in una varibile che a seconda del numero inserito mi dia:
(variabile)Volume >1<=99 valore assegnato 1
>=100<=999 valore assegnato 2
>=1000<=100000 valore assegnato 3
>100000 valore assegnato 4
Tale valore è da memorizzare in una variabile su cui vengono applicati dei moltiplicatori in base a delle stringhe inserite dall'operatore:

stringa sensibili moltiplicatore 2
stringa non sensibile moltiplicatore 1

ed ancora
stringa null moltiplicatore 2
stringa interno moltiplicatore 4
stringa esterno moltiplicatoire 6
stringa pubblico moltiplicatore 8
stringa sconosciuto moltiplicatore 10

Quindi con il valore memorizzato nella prima variabile si moltiplica per il primo ed il secondo moltiplicatore

sul risultato finale viene fatto un controllo e se il valore è superiore a 20 viene visualizzato un messaggio di allarme.

Sono digiuno di programmazione mi sono letto qualche tutorial ed ho scritto qualche linea di codice ma non capisco come inserirla come macro in calc....
Codice: Seleziona tutto   Espandi visualeStringi visuale
sub nemo
rem ----------------------------------------------------------------------
rem Calcolo breach volume dei dati
dim valore as integer
dim valoresum as integer 
dim sensibile as string
dim dati as string
if valore >1<=100 then
   valoresum = 1
end if
if valore >100<1000 then
   valoresum = 2
end if
if valore >1000<=100000 then
   valoresum = 3
end if
if valore >100000 then
   valoresum = 4
end if
rem  breach calcolo moltiplicatore tipologia dei dati
rem variabili tipodati come stringa (valore accettato sensibile/non snsibile)e valoredati come numero
dim tipodati as string
dim valoredati as integer
if tipodati = sensibile then
   valoredati = 1
end if
if   tipodati = "non sensibile" then
   valoredati = 2
end if
Rem impatto varibili impatto come stringa e impattoval come numero
dim impatto as string
dim impattoval as integer
if impatto = null then
   impattoval = 2
endif
if impatto = interno then
   impattoval = 4
end if
if impatto = esterno then
   impattoval = 6
end if
if impatto = pubblico then
   impattoval = 8
end if
if impatto = sconosciuto then
   impattoval = 10
end if
Rem calcolo finanel variabile totale
dim avviso as string
dim totale as integer
totale = valoresum * valoredati * impattoval
if totale > 20 then
   avviso = " E' necessario effettuare una comunicazione "
else
   avviso = " Non è necessario effettuare nessuna comunicazione"
end if
end sub


Spero mi possiate aiutare

Nemo
Ultima modifica di charlie il giovedì 4 luglio 2019, 11:04, modificato 1 volta in totale.
Motivazione: Argomento spostato
OpenOffice 6.2.4.2 su Windows Sevem
nemonemis
 
Messaggi: 1
Iscritto il: sabato 22 giugno 2019, 8:41

Re: Una mano per una macro su calc

Messaggioda charlie » sabato 22 giugno 2019, 22:59

Ciao e benvenuto/a sul forum.
Se intanto ti vuoi presentare puoi farlo in questa sezione -> https://forum.openoffice.org/it/forum/viewforum.php?f=16
Per una panoramica delle regole del forum puoi consultare il Manuale di sopravvivenza -> http://forum.openoffice.org/it/forum/vi%20...%20hp?f=1&t=2

Buon proseguimento.
charlie
macOS 10.12 Sierra: Open Office 4.1.5 - LibreOffice 6.0.7
Windows 7 pro (VirtualBox): Open Office 4.1.5 - LibreOffice 5.4.4.2
Ubuntu 17.04 LTE (VirtualBox): LibreOffice 5.1.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 5915
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Una mano per una macro su calc

Messaggioda lucky63 » domenica 23 giugno 2019, 11:03

Puoi fare anche senza macro.
Ecco un esempio ...

Test.png
Allegati
Test.ods
(16.57 KiB) Scaricato 4 volte
Allegando al quesito un file di esempio si semplifica il lavoro di chi risponde.
Avatar utente
lucky63
Volontario
Volontario
 
Messaggi: 1882
Iscritto il: martedì 18 maggio 2010, 17:01


Torna a Calc

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti