Thema Datum  Von Nutzer Rating
Antwort
Rot VBA on Word zu PDF
12.11.2019 00:08:03 Marcus
NotSolved
12.11.2019 17:20:03 Gast61754
NotSolved
12.11.2019 17:54:40 Gast4744
NotSolved

Ansicht des Beitrags:
Von:
Marcus
Datum:
12.11.2019 00:08:03
Views:
808
Rating: Antwort:
  Ja
Thema:
VBA on Word zu PDF

Hallo ... ich weis diese Frage wurde im Netz schon oft gestellt, aber jede Lösung, die andere angegeben haben, in den Foren zu diesem Thema führt bei mir nur zu Fehlermeldungen oder beschädigten PDF-Dateien. Mein Ziel ist es am Ende aus meiner Word-Vorlage eine PDF-Datei zu machen, aber es gelingt mir einfach nicht. Weis jemand, woran es hapert? Ich bin echt verzweifelt. Würde sogar zu Woodo greifen.

Sub Rechnung_erstellen()
 
Dim längeFirmenName As Long
Dim wordRechnung As Object
Dim VorlageRechnug As Object
Dim lauf As Long
Dim PositionTabelleRechnung As String
Dim AnzahlTabelleRechnung As String
Dim GesamtpreisTabelleRechnung As String
Dim SpeicherFile As String
Dim wkb2 As Workbook
Set wkb2 = Workbooks.Open(ThisWorkbook.Path & "\BestellungenTest.xlsx")
Dim wkb1 As Workbook
Set wkb1 = ThisWorkbook
 
 
wkb2.Activate
 
On Error Resume Next ' aktiviert Fehlerroutine für die Objektabfrage
Set wordRechnung = GetObject("Word.Application") ' Setzt Word-Dokument als Instanz
If Err.Number <> 0 Then
    Err.Clear
    Set wordRechnung = CreateObject("Word.Application")
    wordRechnung.Visible = True ': objWW.WindowState = wdWindowStateMinimize 'lässt Prozess an der Instanz im Hintergrund laufen
Else
    'wenn Instanz bereits besteht
    wordRechnung.Activate
    wordRechnung.Visible = True  ': objWW.WindowState = wdWindowStateMaximize
End If
 
längeFirmenName = Len(wkb1.Worksheets("Tabelle1").Range("J8").Text)
 
wordRechnung.Application.Documents.Open (ThisWorkbook.Path & "\RechnungTest.docx")
 
 
 
If längeFirmenName = 0 Then
    wordRechnung.ActiveDocument.Bookmarks("Anrede_oder_Firma").Range.Text = wkb1.Worksheets("Tabelle1").Range("G8").Text
Else
    wordRechnung.ActiveDocument.Bookmarks("Anrede_oder_Firma").Range.Text = wkb1.Worksheets("Tabelle1").Range("J8").Text
End If
If wkb1.Worksheets("Tabelle1").Range("G8").Value = "Frau" Or wkb1.Worksheets("Tabelle1").Range("G8").Value = "Herr" Then
    If wkb1.Worksheets("Tabelle1").Range("G8").Value = "Frau" Then
        wordRechnung.ActiveDocument.Bookmarks("Anrede").Range.Text = "geehrte Frau"
    Else
        wordRechnung.ActiveDocument.Bookmarks("Anrede").Range.Text = "geehrter Herr"
    End If
Else
    wordRechnung.ActiveDocument.Bookmarks("Anrede").Range.Text = "geehrte/r Frau/Herr"
End If
wordRechnung.ActiveDocument.Bookmarks("Vorname").Range.Text = wkb1.Worksheets("Tabelle1").Range("H8").Text
wordRechnung.ActiveDocument.Bookmarks("Nachname1").Range.Text = wkb1.Worksheets("Tabelle1").Range("I8").Text
wordRechnung.ActiveDocument.Bookmarks("Strasse").Range.Text = wkb1.Worksheets("Tabelle1").Range("E10").Text
wordRechnung.ActiveDocument.Bookmarks("Nachname2").Range.Text = wkb1.Worksheets("Tabelle1").Range("I8").Text
wordRechnung.ActiveDocument.Bookmarks("Hausnummer").Range.Text = wkb1.Worksheets("Tabelle1").Range("F10").Text
wordRechnung.ActiveDocument.Bookmarks("PLZ").Range.Text = wkb1.Worksheets("Tabelle1").Range("G10").Text
wordRechnung.ActiveDocument.Bookmarks("Ort").Range.Text = wkb1.Worksheets("Tabelle1").Range("H10").Text
wordRechnung.ActiveDocument.Bookmarks("Kundennummer").Range.Text = wkb1.Worksheets("Tabelle1").Range("E8").Text
wordRechnung.ActiveDocument.Bookmarks("Auftragszeichen1").Range.Text = wkb1.Worksheets("Tabelle1").Range("E5").Text
wordRechnung.ActiveDocument.Bookmarks("Datum_des_Bestellungseingangs").Range.Text = wkb1.Mid(Worksheets("Tabelle1").Range("E5").Text, 7, 2) & "." & Mid(Worksheets("Tabelle1").Range("E5").Text, 5, 2) & ".20" & Mid(Worksheets("Tabelle1").Range("E5").Text, 3, 2)
wordRechnung.ActiveDocument.Bookmarks("Auftragszeichen2").Range.Text = wkb1.Worksheets("Tabelle1").Range("E5").Text
wordRechnung.ActiveDocument.Bookmarks("Datum_der_Rechnungserstellung").Range.Text = Format(Now, "dd.mm.yyyy")
wordRechnung.ActiveDocument.Bookmarks("Gesamtbetrag").Range.Text = wkb1.Worksheets("Tabelle1").Range("H2").Text
wordRechnung.ActiveDocument.Bookmarks("Gesamtpreis_ohne_USt").Range.Text = wkb1.Worksheets("Tabelle1").Range("F2").Text
wordRechnung.ActiveDocument.Bookmarks("Umsatzsteuer").Range.Text = wkb1.Worksheets("Tabelle1").Range("G2").Text
wordRechnung.ActiveDocument.Bookmarks("Versandkosten").Range.Text = wkb1.Worksheets("Tabelle1").Range("E2").Text
 
' ab hier beginnt die Erstellung der Tabelle in der Rechnung
' Cells(Zeile,Spalte)
For lauf = 2 To 20
    If Len(wkb1.Worksheets("Tabelle1").Cells(lauf, 1).Text) > 0 Then
            If lauf = 2 Then
                PositionTabelleRechnung = wkb1.Worksheets("Tabelle1").Cells(lauf, 1).Text
                AnzahlTabelleRechnung = wkb1.Worksheets("Tabelle1").Cells(lauf, 2).Text
                GesamtpreisTabelleRechnung = wkb1.Worksheets("Tabelle1").Cells(lauf, 3).Text
            Else
                PositionTabelleRechnung = PositionTabelleRechnung & Chr(10) & wkb1.Worksheets("Tabelle1").Cells(lauf, 1).Text
                AnzahlTabelleRechnung = AnzahlTabelleRechnung & Chr(10) & wkb1.Worksheets("Tabelle1").Cells(lauf, 2).Text
                GesamtpreisTabelleRechnung = GesamtpreisTabelleRechnung & Chr(10) & wkb1.Worksheets("Tabelle1").Cells(lauf, 3).Text
            End If
    Else
    End If
Next lauf
wordRechnung.ActiveDocument.Bookmarks("Position").Range.Text = PositionTabelleRechnung
wordRechnung.ActiveDocument.Bookmarks("Anzahl").Range.Text = AnzahlTabelleRechnung
wordRechnung.ActiveDocument.Bookmarks("Gesamtpreis_der_Position").Range.Text = GesamtpreisTabelleRechnung
' wordRechnung.ActiveDocument.PrintOut
SpeicherFile = ThisWorkbook.Path & "\" & wkb1.Worksheets("Tabelle1").Range("E8") & "\" & wkb1.Worksheets("Tabelle1").Range("E5").Text & "\" & "Rechnung_" & wkb1.Worksheets("Tabelle1").Range("E5").Text '& ".pdf"
wordRechnung.ActiveDocument.ExportAsFixedFormat OutputFileName:=SpeicherFile, ExportFormat:=wdExportFormatPDF
 
 
'WORD-Instanz schliessen
wordRechnung.Application.Quit (True)
'Variable leeren
Set wordRechnung = Nothing
 
wkb2.Close True
 
End Sub

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot VBA on Word zu PDF
12.11.2019 00:08:03 Marcus
NotSolved
12.11.2019 17:20:03 Gast61754
NotSolved
12.11.2019 17:54:40 Gast4744
NotSolved