Ich brauche wieder einmal eure Hilfe, bei der ich schon lange nicht mehr weiterkomme.
Ein geöffnetes Word Dokument möchte ich aktivieren, damit ich es (von Excel aus) mit Daten befüllen kann.
Öffne ich das Dokument per Excel neu, kann ich dieses ohne Probleme befüllen.
Dies mache ich mit folgendem VBA Code:
Sub Word_Ereignis_öffnen_und_befüllen()
Dim WordApp As Object
Dim WordDoc As Object
Dim strEreignis As String
Dim WordPfad As String
Dim letzteZeile As Integer
Dim Dateiname As String
letzteZeile = Sheets("Journal").Cells(6003, 13).End(xlUp).Row
WordPfad = Sheets("Journal").Range("Q2")
Dateiname = Sheets("Journal").Cells(letzteZeile, 12)
strEreignis = WordPfad & Dateiname
Set WordApp = CreateObject("Word.Application") 'Word als Object starten
WordApp.Visible = True
With WordApp
Set WordDoc = .documents.Open(strEreignis)
.Visible = True
.Activate
End With
Dim EreignisTabelle
Set EreignisTabelle = WordDoc.Bookmarks("EreignisTabelle").Range.Tables(1)
If WordDoc.Bookmarks.exists("EreignisTabelle") = True Then
Cells(letzteZeile, 4).Copy
EreignisTabelle.Cell(2, 2).Range.PasteExcelTable False, False, True
Cells(letzteZeile, 5).Copy
EreignisTabelle.Cell(3, 2).Range.PasteExcelTable False, False, True
Cells(letzteZeile, 6).Copy
EreignisTabelle.Cell(4, 2).Range.PasteExcelTable False, False, True
Cells(letzteZeile, 7).Copy
EreignisTabelle.Cell(5, 2).Range.PasteExcelTable False, False, True
Cells(letzteZeile, 8).Copy
EreignisTabelle.Cell(5, 3).Range.PasteExcelTable False, False, True
Cells(letzteZeile, 9).Copy
EreignisTabelle.Cell(5, 4).Range.PasteExcelTable False, False, True
Cells(letzteZeile, 10).Copy
EreignisTabelle.Cell(6, 2).Range.PasteExcelTable False, False, True
Cells(letzteZeile, 11).Copy
EreignisTabelle.Cell(7, 2).Range.PasteExcelTable False, False, True
End If
WordDoc.Fields.Update
WordDoc.PrintPreview
WordDoc.ClosePrintPreview
WordDoc.Activate
WordDoc.Save
End Sub
Wie muss ich die VBA Programmierung nun anpassen, damit ich ein geöffnetes Word Dokument für das befüllen aktivieren kann.Vielen Dank für eure Hilfe
Freundliche Grüsse
Patric