[RISOLTO]problema su ciclo if

Creare una macro - Scrivere uno script - Usare le API
Rispondi
settepixel
Messaggi: 20
Iscritto il: giovedì 4 dicembre 2014, 22:53

[RISOLTO]problema su ciclo if

Messaggio da settepixel »

Inesperta. Dove sbaglio?
Le mie celle NON devono contenere il testo "sabato", "domenica", "25/12/14, "26/12/14"
Mi fa corretto sulle date ma poi arriva il 27/12/14 che è un SABATO e mi entra nell'if, deve essere sbagliata la linea di codice che ho evidenziato in grassetto, peraltro non so se sia corretto l'uso di AND...

Codice: Seleziona tutto

Do until  spesaok=1
datafoglio=Sh1.getcellbyposition(0,rigaspesa+15+aggiungi).string
giornofoglio= Sh1.getcellbyposition(2,rigaspesa+15+aggiungi).string

Codice: Seleziona tutto

if   giornofoglio <> "sabato" and giornofoglio <> "domenica" and  datafoglio <> "25/12/14" and datafoglio <>"26/12/14" then

Codice: Seleziona tutto

Sh1.getcellbyposition(10,rigaspesa+15+aggiungi).string="previsto giorno di spesa"
spesaok=1
else
aggiungi=aggiungi +1
spesaok=0
end if


loop
Ultima modifica di settepixel il martedì 16 dicembre 2014, 17:04, modificato 3 volte in totale.
open office 4.1
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8943
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: problema su ciclo if

Messaggio da charlie »

Nota di servizio, con la codifica del codice del messaggio sul forum si perde l'evidenziazione "grassetto" .
Per questo motivo ho diviso il codice in tre parti. Quello evidenziato in grassetto da @settepixel è nella parte centrale.
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: problema su ciclo if

Messaggio da patel »

allega il file, sarà più facile testare e risolvere
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
settepixel
Messaggi: 20
Iscritto il: giovedì 4 dicembre 2014, 22:53

Re: problema su ciclo if

Messaggio da settepixel »

IL FILE è QUELLO che ho già allegato nell'altra discussione precedente (menu settimanale), comunque credo che con un po di occhio uno sappia dire se la sintassi del if è corretta o meno...

if giornofoglio <> "sabato" and giornofoglio <> "domenica" and datafoglio <> "25/12/14" and datafoglio <>"26/12/14" then
open office 4.1
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: problema su ciclo if

Messaggio da unlucky83 »

apparentemente il codice è corretto, quello che non è chiaro è cosa succede quando la data è "27/12/14"...
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
settepixel
Messaggi: 20
Iscritto il: giovedì 4 dicembre 2014, 22:53

Re: problema su ciclo if

Messaggio da settepixel »

quando è 27/12/14 automaticamente la variabile giornofoglio è "sabato" quindi "dovrebbe" saltare l'if e riaggiungere 1
open office 4.1
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: problema su ciclo if

Messaggio da unlucky83 »

ho scoperto il mistero...i giorni della settimana che sono nelle celle hanno uno spazio finale... metti come condizione "sabato " al posto di "sabato" e "domenica " al posto di domenica

Tecnicamente non deve saltare l'if, ma deve saltare il then, quindi passare all'else.
Then e else fanno parte dell'if :)

Per la cronaca, la discussione "precedente" che è stata sottintesa è questa
viewtopic.php?f=26&t=6398
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
settepixel
Messaggi: 20
Iscritto il: giovedì 4 dicembre 2014, 22:53

Re: problema su ciclo if

Messaggio da settepixel »

Grazie, infatti con lo spazio funziona!! Nel frattempo proprio ora avevo trovato la soluzione: invece di .string ho messo .value e in questo modo invece del giorno mi riportava 7 (se sabato) e 1 (se domenica) e con quello ero riuscita a risolvere... ma alla fine con i giorni è meglio ;) grazie!!!
giornofoglio= Sh1.getcellbyposition(2,rigaspesa+15+aggiungi).value
open office 4.1
Rispondi