On 24/03/06, D. Michel Morelli <[EMAIL PROTECTED]> wrote:
> D. Michel Morelli ha scritto:
> > L'unica cosa che ora mi manca รจ quella di farla partire automaticamente
> > alla prima e solamente alla prima apertura del documento.
> >
>
> Avrei pensato ad una cosa di questo tipo: Inserisco all'interno del
> documento la frase "ESEGUI MACRO". All'apertura del documento
> la macro suggeritami entra in esecuzione e come primo controllo effettua
> una ricerca su "ESEGUI MACRO". Se la stringa esiste allora esegue il
> resto della macro e poi cancella la frase "ESEGUI MACRO", altrimenti
> esce dalla esecuzione della macro.
> Ma non so da dove partire. E non trovo un manuale che mi spieghi come fare.
>
> Grazie.
>
> --
> -------------------------------
> Studio Legale Sutti
> Via Montenapoleone 8
> 20121 Milano
> Central e-mail: [EMAIL PROTECTED]
> Web http://www.sutti.com
> Tel. +39-02-762041
> Fax +39-02-76204805
> ----------
> This message is from a law firm. It is confidential and may be
> *privileged*. If it is not intended for you please inform us then delete
> it. If its  content is not about the business of the firm or of its
> clients then the message is neither from nor sanctioned by the firm. Use
> of this or any other e-mail facility of Studio Legale Sutti signifies
> consent to interception by Studio Legale Sutti.
> ----------
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Ciao,

per far partire la macro quando crei il documento e' facile:
salva la macro che ti ho dato nel template (non in My Macros &
Dialogs) e quindi mentre hai il template aperto vai su tools -->
customize, scegli la linguetta "events". La terza voce della lista e'
quella che fa per te (createDocument). Premi il pulsante "assign
macro", naviga il nome del tuo template e quando trovi la macro clicca
ok.
Fatto questo salva il template.

Quando ora crei un documento con questo template la macro parte da
sola (se l'utente decide di abilitare le macro chiaramente). E' sempre
possibile poi richiamare la macro con una combinazione di tasti o
altre maniere standard in qualunque momento.

Ci sono altri modi come ad esempio mettere nel documento un pulsante
non stampabile che fa partire la macro, fammi sapere se il metodo
sopra fa per te.

Infine, ho modificato leggermente il codice per ovviare
all'inconveniente di eliminare per sbaglio il bookmark. Il bookmark
adesso va inserito all'inizio della riga e il testo inserito
dall'utente viene scritto alla fine di tale riga.
Per fare questo e' bastato aggiungere un comando per spostare il
cursore dal bookmark al paragrafo successivo e quindi spostarlo di un
carattere verso sinistra.

Ciao,

Michele
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)
                oCursor.gotoNextParagraph(false)
                oCursor.goLeft(1, false)
                thisComponent.getText().insertString( oCursor, sText, false)
        Next
End Sub

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a