Ciao M.
Questa e' la versione super semplificata in cui uso la funzione
predefinita InputBox.
Una miglioria essenziale e' di mettere un messaggio e un titolo un po'
piu' significativo (vedi sotto). Al momento il messaggio e' "bookmark
n" dove n e' il numero sequenziale del bookmark, e il titolo e' il
nome che hai dato al bookmark.
Per provare questa funzione crea un documento, metti un paio di
bookmark e fai partire la sub.
Sub subInsertTextAtBookmarks()
Dim oBookmarks As Object
Dim oBookmark As Object
Dim oCursor As Object
Dim sText As String
Dim nBM As Long
' create the list of bookmarks
oBookmarks = thisComponent.getBookmarks()
' create a text cursor that will be used to insert the user text
oCursor = thisComponent.getText().createTextCursor()
' loop the bookmarks
For nBM = 0 to oBookmarks.getCount - 1
oBookmark = oBookmarks.getByIndex(nBM)
sText = inputBox("Bookmark " & nBM+1, oBookmark.getName() )
oCursor.gotoRange(oBookmark.getAnchor(), False)
thisComponent.getText().insertString( oCursor, sText, false)
Next
End Sub
Problemi:
1. e' purtroppo molto (troppo) facile cancellare il bookmark quando si
edita il documento, a me e' successo tre o quattro volte mentre
provavo questa routine.
2. se l'utente lancia la routine varie volte, il testo scritto nella
inputBox viene ri-inserito
Soluzioni:
per il problema 1 si potrebbe mettere il bookmark all'inizio della
riga e quindi spostarsi con il cursore in fondo alla riga prima di
inserire il testo
il problema 2 e' un po' piu' complicato e dipende dal modo in cui fai
partire la procedura, quando hai deciso come fare ti dico come si
potrebbe risolvere.
Creare nomi significativi: l'idea piu' banale e' un select case dove a
seconda del nome o del numero del bookmark pre-confezioni le stringhe
per la input box.
XRay
mmm... non mi ricordo dove prenderlo, ma e' uno strumento estremamente
popolare percio' qualcuno nella lista sapra' darti la dritta giusta.
Ciao,
Michele
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]