28.02.2017, 08:37
Einen schönen guten Morgen an alle,
folgendes neues Problem ist aufgetreten - ich versuche ja jetzt schon länger ein Serienbriefdokument über einen Excelbutton zu öffnen. Dies ist mir mit Hilfe dieses Forums, zwar zwischenzeitlich halbwegs gelungen, aber es funktioniert noch nicht ganz. :20:
Der Code zum öffnen lautet:
Private Sub CommandButton4_Click()
Dim oWrd As Object
Dim oDocx As Object
Dim strSheetName As String
strSheetName = "Rechnungsausgabe"
Set oWrd = CreateObject("word.application")
Set oDocx = oWrd.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & "Rechnung.docx")
oWrd.Visible = True
oDocx.MailMerge.MainDocumentType = wdFormLetters
oDocx.MailMerge.OpenDataSource Name:= _
ThisWorkbook.Path & Application.PathSeparator & "Rechnung.docx", _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=ThisWorkbook.Path & Application.PathSeparator & Gebührenrechner.docx.xlsm;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;J" _
, SQLStatement:="SELECT * FROM [" & strSheetName & "$]", SQLStatement1 _
:="", SubType:=wdMergeSubTypeAccess
Set oDocx = Nothing
Set oWrd = Nothing
End Sub
Problem 1 hierbei ist, dass die Datenquelle nicht nicht mit eingelesen wird (ich weiß aber das dies geht, nur nicht wie); Problem 2: ich bekomme immer die Meldung "Laufzeitfehler 9105, Die Zeichenfolge ist länger als 255 Zeichen".
Weiß jemand wie diese beiden Probleme noch lösen kann?
Viele Grüße
Basti
folgendes neues Problem ist aufgetreten - ich versuche ja jetzt schon länger ein Serienbriefdokument über einen Excelbutton zu öffnen. Dies ist mir mit Hilfe dieses Forums, zwar zwischenzeitlich halbwegs gelungen, aber es funktioniert noch nicht ganz. :20:
Der Code zum öffnen lautet:
Private Sub CommandButton4_Click()
Dim oWrd As Object
Dim oDocx As Object
Dim strSheetName As String
strSheetName = "Rechnungsausgabe"
Set oWrd = CreateObject("word.application")
Set oDocx = oWrd.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & "Rechnung.docx")
oWrd.Visible = True
oDocx.MailMerge.MainDocumentType = wdFormLetters
oDocx.MailMerge.OpenDataSource Name:= _
ThisWorkbook.Path & Application.PathSeparator & "Rechnung.docx", _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=ThisWorkbook.Path & Application.PathSeparator & Gebührenrechner.docx.xlsm;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;J" _
, SQLStatement:="SELECT * FROM [" & strSheetName & "$]", SQLStatement1 _
:="", SubType:=wdMergeSubTypeAccess
Set oDocx = Nothing
Set oWrd = Nothing
End Sub
Problem 1 hierbei ist, dass die Datenquelle nicht nicht mit eingelesen wird (ich weiß aber das dies geht, nur nicht wie); Problem 2: ich bekomme immer die Meldung "Laufzeitfehler 9105, Die Zeichenfolge ist länger als 255 Zeichen".
Weiß jemand wie diese beiden Probleme noch lösen kann?
Viele Grüße
Basti