Eliminare ed aggiungere macro VBA a Word tramite Visual Basic 6

Passata la prima fase di apatia verso una cosa del genere, ed esclusa ogni altra possibile soluzione ho dovuto fare questo:

- Eliminare da un documento word una macro contenuta dentro un modulo

- Aggiungere la stessa macro al documento word modificata

Per fare questo è necessario avere a disposizione un file con estensione .bas in cui è presente il codice da inserire. Nel mio caso ho esportate il modulo da word (Notes.bas), l’ho aperto e ho modificato la macro in alcuni punti.

A questo punto il codice vb è il seguente:

Dim WordApp As New Word.Application
Dim wordDocument As Word.Document
Dim VBComp As VBComponent

Set wordDocument = WordApp.Documents.Open(FileName:=, _
ConfirmConversions:=True, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto, XMLTransform:="")

'Elimino il modulo "Notes" dal documento word
Set VBComp = wordDocument.VBProject.VBComponents("Notes")
wordDocument.VBProject.VBComponents.Remove VBComp

'Aggiungo il novo modulo "Notes"
wordDocument.VBProject.VBComponents.Import (App.path & "\Notes.bas")

'Salvo e chiudo
wordDocument.Close True
Set wordDocument = Nothing
WordApp.Quit True
Set WordApp = Nothing

La versione di Word che uso è la 2003.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>