Una volta avevo creato una macro autoopen per cui quando si apriva un documento odt il cursore si spostava nel punto dove avevo creato un certo segnalibro (“qui”).
Questa feature sarebbe superata se funzionasse sempre l’ottima caratteristica di LibreWriter di andare al punto in cui il documento (ovviamente supponendo che sia lungo) era stato chiuso (e salvato). Ma questo, come ho già segnalato in altro luogo molto spesso non avviene.
Allora ho tentato di creare una macro per velocizzare il processo:
1)bisognerebbe dare lo stesso nome di bookmark (“qui”) a un nuovo punto, a cui si è arrivati, sovrascivendo il precedente bookmark “qui”; ma questo non mi risultava possibile (ora invece, come dico sotto, sono riuscito a farlo).
2) Bisognerebbe poi creare una macro autoopen che appena si apre un documento, vada a quel segnalibro, “qui”.
La prima cosa, mi correggo, funziona:
sub qui
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 = "Bookmark"
args1(0).Value = "qui"
dispatcher.executeDispatch(document, ".uno:DeleteBookmark", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Bookmark"
args2(0).Value = "qui"
dispatcher.executeDispatch(document, ".uno:InsertBookmark", "", 0, args2())
end sub
Ma la seconda ho provato a rimaneggiarla, da inesperto non funziona
sub vai_fin_qui
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:GotoBookmark", "qui", 0, Array()
end sub
Mi potete aiutare?
Grazie