Pagina 1 di 1

[Risolto] funzione IF ... THEN ... ELSE

Inviato: martedì 21 febbraio 2017, 16:55
da FABIAN_#87
ho bisogno di un piccolo aiuto per completare questa macro su Oo.
il solito problema in VBA di excel l'ho risolto con 'range("G1").Value=1' ma qui su Oo non funziona.
in pratica questa piccola macro dovrebbe controllare il valore di G1 e verificare se è uguale a 1. se è vera esegue la macro, se è falsa restituisce un messaggio di errore.
con la sintassi sotto riportata la macro restituisce il msgBox.
ho provato tutto il giorno a cercare una soluzione ma non sono riuscito a trovarla.


sub copia

if g1 = 1 then

rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1:$F$22"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

else
msgbox "I dati inseriti non quadrano; inserisci nuovamente i dati e clicca CONTROLLA DATI"

end if

end sub

Re: funzine IF ... THEN ... ELSE

Inviato: martedì 21 febbraio 2017, 18:26
da Gaetanopr
Su excel se non indichi il nome del documento e del foglio la macro lavora sul documento e sul foglio attivo, su openoffice è indispensabile sempre indicare su quale documento si intende operare e su quale foglio, quindi la macro diventa così

Codice: Seleziona tutto

if ThisComponent.Sheets.getByName("Foglio1").getCellRangeByName("g1").value = 1 then	

Re: funzine IF ... THEN ... ELSE

Inviato: mercoledì 22 febbraio 2017, 9:17
da FABIAN_#87
Gaetanopr ha scritto:Su excel se non indichi il nome del documento e del foglio la macro lavora sul documento e sul foglio attivo, su openoffice è indispensabile sempre indicare su quale documento si intende operare e su quale foglio, quindi la macro diventa così

Codice: Seleziona tutto

if ThisComponent.Sheets.getByName("Foglio1").getCellRangeByName("g1").value = 1 then	
sei stato molto gentile e ti ringrazio molto.
ho inerito il codice che mi hai dato è funziona tutto a meraviglia.
grazie!!!