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]

Rispondere a