Hallo,
ich habe einen Serienbrief SB.docx und eine Exceltabelle SB.xlsm als Seriendruckquelle, die ich an Kollegen weitergeben möchte. Das allgemeine Grundproblem ist dabei, dass die Verbindung zwischen Word und Excel nicht so erhalten bleibt, wenn die Kollegen die beiden Dateien in einem anderen Verzeichnis und Ordner speichern.
In Excel habe ich zunächst das Problem zum Teil dahingehend gelöst, dass ich per Formularfeld das Worddokument drucken möchte. In einer Zelle habe ich mir dazu den aktuellen Dateipfad der gespeicherten Exceltabelle "geholt":
=TEIL(ZELLE("Dateiname";A1);1;FINDEN("[";ZELLE("Dateiname";A1))-1)
In VBA habe ich eingefügt:
***
Sub Schaltfläche4_Klicken()
Dim appWord As Object
Dim strDoc As String
Dim pfad1 As String
Dim pfad2 As String
ActiveWorkbook.Save
Set wks = ThisWorkbook.Sheets("ReGr")
pfad1 = wks.Cells(2, 16).Value
pfad2 = "DuB-Mitarbeiterberatung-2018-06-Angebotsberechnung.docx"
strDoc = pfad1 & pfad2
Set appWord = CreateObject("Word.Application")
appWord.Visible = True
appWord.Documents.Open strDoc
'appWord.PrintOut Filename:=strDoc
'appWord.Quit
'Set appWord = Nothing
End Sub
****
Das öffnen, alternativ das drucken des Word Dokuments funktioniert. Jedoch wird dabei der Empfänger für den Serienbrief nicht mehr verbunden. Das Word Dokument zieht keine aktuellen Daten aus der Excel Tabelle.
Schliesse ich Excel und öffne das Worddokument, dann läuft alles "wie gewohnt". Die Daten werden aus Excel entnommen.
Gibt es eine Möglichkeit, in Excel VBA beim öffnen des Word Dokuments die Excel-Tabelle als Empfänger zu übergeben bzw. zu erzwingen oder so?
Vielen Dank
ich habe einen Serienbrief SB.docx und eine Exceltabelle SB.xlsm als Seriendruckquelle, die ich an Kollegen weitergeben möchte. Das allgemeine Grundproblem ist dabei, dass die Verbindung zwischen Word und Excel nicht so erhalten bleibt, wenn die Kollegen die beiden Dateien in einem anderen Verzeichnis und Ordner speichern.
In Excel habe ich zunächst das Problem zum Teil dahingehend gelöst, dass ich per Formularfeld das Worddokument drucken möchte. In einer Zelle habe ich mir dazu den aktuellen Dateipfad der gespeicherten Exceltabelle "geholt":
=TEIL(ZELLE("Dateiname";A1);1;FINDEN("[";ZELLE("Dateiname";A1))-1)
In VBA habe ich eingefügt:
***
Sub Schaltfläche4_Klicken()
Dim appWord As Object
Dim strDoc As String
Dim pfad1 As String
Dim pfad2 As String
ActiveWorkbook.Save
Set wks = ThisWorkbook.Sheets("ReGr")
pfad1 = wks.Cells(2, 16).Value
pfad2 = "DuB-Mitarbeiterberatung-2018-06-Angebotsberechnung.docx"
strDoc = pfad1 & pfad2
Set appWord = CreateObject("Word.Application")
appWord.Visible = True
appWord.Documents.Open strDoc
'appWord.PrintOut Filename:=strDoc
'appWord.Quit
'Set appWord = Nothing
End Sub
****
Das öffnen, alternativ das drucken des Word Dokuments funktioniert. Jedoch wird dabei der Empfänger für den Serienbrief nicht mehr verbunden. Das Word Dokument zieht keine aktuellen Daten aus der Excel Tabelle.
Schliesse ich Excel und öffne das Worddokument, dann läuft alles "wie gewohnt". Die Daten werden aus Excel entnommen.
Gibt es eine Möglichkeit, in Excel VBA beim öffnen des Word Dokuments die Excel-Tabelle als Empfänger zu übergeben bzw. zu erzwingen oder so?
Vielen Dank