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