Hi Maximilian,
entscheide Dich: EarlyBinding oder LateBinding?
Es lohnt sich das nochmal nachzulesen/zu recherchieren.
docDokument.SaveAs2 Backslash(ThisWorkbook.Path) & wksQuellTabelle.Name & ".docx"
Backslash() deutet auf eine benutzerdefinierte Function/Sub hin. Diese hast Du nicht gepostet, obwohl Du jene als Parameter der SaveAs-Methode angibst.
Fazit:
Wenn Du Hilfe in einem Forum suchst , empfehle Ich Dir stets vollständigen Code mitzuliefern, sodass Dir die Profis auch Hilfe leisten können.
Ich selbst mache das nur zum Spaß/Ausgleich; is schon knapp zwei Jahrzehnte her. Ich vermute aber, dass zu viele Baustellen Andere davon abhält hier zu antworten. Aber vielleicht täusche ich mich auch....
Versuchs mal so:
Option Explicit
Sub ExportRangeToWord()
Dim wksQuellTabelle As Excel.Worksheet
Dim rngBereich As Excel.Range
Dim docDokument As Object
Dim appWord As Object
Set wksQuellTabelle = ActiveWorkbook.Worksheets("Stromkosten")
Set rngBereich = wksQuellTabelle.UsedRange
Set appWord = CreateObject("Word.Application")
Set docDokument = appWord.Documents.Add()
appWord.Visible = True
rngBereich.Copy
docDokument.Paragraphs(1).Range.PasteExcelTable True, False, False
docDokument.SaveAs2 Backslash(ThisWorkbook.Path) & wksQuellTabelle.Name & ".docx"
Application.CutCopyMode = False
If appWord.Documents.Count > 1 Then
docDokument.Close
Else
appWord.Quit
End If
Set wksQuellTabelle = Nothing
Set rngBereich = Nothing
Set docDokument = Nothing
Set appWord = Nothing
End Sub
|