Una mano per una macro su calc

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
nemonemis
Messaggi: 1
Iscritto il: sabato 22 giugno 2019, 8:41

Una mano per una macro su calc

Messaggio da nemonemis »

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

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
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8803
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Una mano per una macro su calc

Messaggio da charlie »

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

Buon proseguimento.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2995
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Una mano per una macro su calc

Messaggio da lucky63 »

Puoi fare anche senza macro.
Ecco un esempio ...
Test.png
Allegati
Test.ods
(16.57 KiB) Scaricato 104 volte
Rispondi