Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Office2003:aggiornare doc word da excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Office2003:aggiornare doc word da excel

Postdi karug64 » 27/11/11 16:10

Salve a tutti.
Premetto che sto cercando di fare una cosa nella quale mi cimento per la prima volta e di cui non sono assolutamente a conoscenza.

Dopo aver elaborato con vba dei dati su vari fogli excel, in uno di questi ho ricavato un "sunto".
Vorrei a questo punto, poter aprire un documento word (nel quale ho inserito dei bookmark) e modificare i campi in corrispondenza con i valori delle celle.
Cercando su internet ho trovato questo codice:

Codice: Seleziona tutto
Dim objWord As Object
Dim objDoc As Object
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open("C:\Documentoword.doc")
objWord.Visible = True

On Error GoTo 0
If objWord Is Nothing Then
MsgBox "Applicazione non disponibile", vbExclamation
End If

With objWord
.Visible = True

.Selection.Goto What:=wdGoToBookmark, Name:="Dip1"
.Selection.Delete Unit:=wdCharacter, Count:=1
.Selection.InsertAfter Range("F7")

.Selection.Goto What:=wdGoToBookmark, Name:="ord_dal"
.Selection.Delete Unit:=wdCharacter, Count:=1
.Selection.InsertAfter Range("F13")

.Selection.Goto What:=wdGoToBookmark, Name:="ord_al"
.Selection.Delete Unit:=wdCharacter, Count:=1
.Selection.InsertAfter Range("I13")

.Selection.Goto What:=wdGoToBookmark, Name:="data_isp"
.Selection.Delete Unit:=wdCharacter, Count:=1
.Selection.InsertAfter Range("F8")

oDoc.Close True                        'chiusura documento
.Quit ' chiusura applicazione
End With
Set oDoc = Nothing                    ' free memory
Set oApp = Nothing                    ' free memory


il problema e' che il file viene aperto, ma poi mi da errore 5101: il bookmark non esiste. (Se pero' vado su word ->inserisci->segnalibro ci sono tutti).

Qualcuno e' in grado di aiutarmi ?
Grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: Office2003:aggiornare doc word da excel

Postdi karug64 » 27/11/11 16:43

Aggiungo che

intNumBookmarks = wordDoc.Bookmarks.Count

mi dice che ci sono 8 bookmark....

Grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Re: Office2003:aggiornare doc word da excel

Postdi karug64 » 27/11/11 18:06

Aggiorno me stesso. Il problema era banale: non avevo inserito ii riferimenti a Microsoft Word.
Fatto questo ora vede i bookmarks.
Grazie e alla prossima.
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Re: Office2003:aggiornare doc word da excel

Postdi Anthony47 » 27/11/11 22:08

Non e' obbligatorio inserire il link alla libreria vba di Microsoft Word, perche' con la sintassi del tipo Set ObjWord = CreateObject("Word.Application") in realta tu imposti l' oggetto (in modalita' "late binding") al momento della compilazione del codice (mentre linkando la libreria l' oggetto e' gia' presente in libreria, e si dice che si lavora in modalita' early binding).
Con il tuo codice di partenza, ad esempio, con queste istruzioni inserisci il contenuto della cella AA1 subito dopo il bookmark di nome Dip2:
Codice: Seleziona tutto
objDoc.bookmarks("Dip2").Select
.Selection.InsertAfter Range("AA1")

Se hai risolto questo e' solo ad uso didattico

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Office2003:aggiornare doc word da excel":


Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti