ciao,
stò usando openoffice3 beta perchè devo fare una cosa molto semplice.
Per comodità ho registrato una semplice macro che mi ripete una serie di comandi, in modo che ripentedo la macro senza mai più toccare niente completo il documento. Unica cose che vorrei sapere è come far ripetere la macro al programma fino alla fine del documento.
La macro l'ho fatta nel linguaggio openoffice.org Basic (cosè una copia del visualbasic per caso? :D ).
grazie
Non uso mai OpenOffice in quanto personalmente lo considero una bella spanna sotto a MS, soprattutto come foglio di calcolo Excel + Scripting, ma a parte questo, il "Basic" di OpenOffice per quel che ricordo è simile a VBA solo per sintassi, mentre il modello a oggetti è diverso.
In ogni caso se vuoi ripetere un'operazione n volte usa un ciclo For.
Magari posta il codice...
Il codice è questo, ed è fatto in automatico con il record (sinceramente io di basic non sò niente).
REM ***** BASIC *****
Sub Main
End Sub
sub test
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 ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToEndOfLine", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Text"
args3(0).Value = " "
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args3())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToEndOfLine", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
rem ----------------------------------------------------------------------
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "Text"
args6(0).Value = " "
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args6())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToEndOfLine", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
rem ----------------------------------------------------------------------
dim args9(0) as new com.sun.star.beans.PropertyValue
args9(0).Name = "Text"
args9(0).Value = " "
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args9())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToEndOfLine", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
rem ----------------------------------------------------------------------
dim args12(0) as new com.sun.star.beans.PropertyValue
args12(0).Name = "Text"
args12(0).Value = " "
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args12())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToEndOfLine", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
rem ----------------------------------------------------------------------
dim args15(0) as new com.sun.star.beans.PropertyValue
args15(0).Name = "Text"
args15(0).Value = " "
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args15())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToEndOfLine", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
rem ----------------------------------------------------------------------
dim args18(0) as new com.sun.star.beans.PropertyValue
args18(0).Name = "Text"
args18(0).Value = CHR$(9)
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args18())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToEndOfLine", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:InsertPara", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
end sub
a me interesserebbe che si ripeta fino alla fine del documento.
Grazie
Stai cercando di rimuovere i ritorni a capo da un file di testo? La tua macro si posiziona alla fine di una riga, cancella un carattere e ne inserisce un altro.
Se devi ripetere il passaggio un numero prefissato di volte c'è il ciclo forfor i=1 to 10
....la tua macro...
next ialtrimenti devi cercare tra gli oggetti esposti dal tuo documento per contare i paragrafi.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.