Intanto commetti il solito e grossolano errore molto (troppo!) diffuso sul web che è quella di dichiarare
1. la variabile per Word
....Dim oWord As Word.Application
2. e poi usi CreateObject() per istanziarla:
....oWord = CreateObject("Word.Application")
perchè in realtà 'mescoli' l'EarlyBinding (1) con il LateBinding (2)
e questo provoca la creazione di 2 oggetti 'Word' (invece di uno) che ovviamente non possono dialogare tra loro.
Leggi questo breve e conciso articolo:
http://forum.masterdrive.it/vba-tuto...binding-46733/
che ti aiuta a capire il concetto.
Sarebbe ancora meglio sfruttare le Istruzioni di compilazione condizionale per evitare anche il problema che la routine non funziona più se la versione di Word sul computer dell'utente è diversa dalla tua con cui hai compilato il programma, ed è un problema sempre in agguato che può presentarsi da un momento all'altro, perchè basta aggiornare Word (o Office) ad una versione superiore, o precedente.
Una volta sistemato il codice, sono certo al 99% che tutto funzionerà come vuoi.
Nel caso non sia così, facci sapere e vediamo di sistemare il tutto.
![]()