tim589
Goto Top

Excel Dokument als PDF speichern

Ich habe mir ein kleines Rechnungsprogramm gebastelt und würde das ganze am Ende als PDF automatisch abspeichern lassen.
Leider komme ich mit den Codes die ich gefunden habe nicht wirklich zurecht.
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\TEMP\Testdatei.pdf" _  
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
hier wäre so ein Code den ich immer wieder gefunden habe. Allerdings kommt bei mir bei ActiveSheet ein Fehler dass es nicht deklariert wurde und xlTypePDF genauso.

Was muss ich hier deklarieren dass das ganze klappt.

Am Ende soll eine Msgbox kommen bei der der man mit Ja Speichern den Befehl ausführen kann.

Falls jmd den ganzen Code vom Programm braucht um zu sehen wie das Programm funktioniert hier mal alles:

Public Class Rechnung
    Dim Projekt As Object
    Dim Jahrx, Tagx, Monatx, Rechnungsnummer As String
    Dim x0 As Integer = 0
    Dim x1 As Integer = 1

    Private Sub Rechnung_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rechnung_Button.Click
        If Betrag1_TextBox.Text = "" Then Betrag1_TextBox.Text = 0  
        If Betrag2_TextBox.Text = "" Then Betrag2_TextBox.Text = 0  
        If Betrag3_TextBox.Text = "" Then Betrag3_TextBox.Text = 0  
        If Betrag4_TextBox.Text = "" Then Betrag4_TextBox.Text = 0  
        If Betrag5_TextBox.Text = "" Then Betrag5_TextBox.Text = 0  
        If Betrag6_TextBox.Text = "" Then Betrag6_TextBox.Text = 0  

        'Ergebnisberechnung  
        Gesamtbetrag_Ergebnis_Label.Text = Betrag1_TextBox.Text + +Betrag2_TextBox.Text + +Betrag3_TextBox.Text + +Betrag4_TextBox.Text + +Betrag5_TextBox.Text + +Betrag6_TextBox.Text

        'Excel aus Dateivorlage öffnen  
        Projekt = CreateObject("excel.application")  
        Projekt.Application.Workbooks.Open("C:\Users\t.mueller\Downloads\Rechnungsvorlage")  
        Projekt.Visible = True

        'Excel Zelle füllen  
        Projekt.range("I16").value = Datum_TextBox.Text  
        Projekt.range("B8").value = Vorname_TextBox.Text & " " & Nachname_TextBox.Text  
        Projekt.range("B9").value = Straße_TextBox.Text  
        Projekt.range("B10").value = PLZ_TextBox.Text & " " & Ort_TextBox.Text  
        Projekt.range("B23").value = Eingabe1_TextBox.Text  
        Projekt.range("H23").value = Betrag1_TextBox.Text  
        Projekt.range("B24").value = Eingabe2_TextBox.Text  
        Projekt.range("H24").value = Betrag2_TextBox.Text  
        Projekt.range("B25").value = Eingabe3_TextBox.Text  
        Projekt.range("H25").value = Betrag3_TextBox.Text  
        Projekt.range("B26").value = Eingabe4_TextBox.Text  
        Projekt.range("H26").value = Betrag4_TextBox.Text  
        Projekt.range("B27").value = Eingabe5_TextBox.Text  
        Projekt.range("H27").value = Betrag5_TextBox.Text  
        Projekt.range("B28").value = Eingabe6_TextBox.Text  
        Projekt.range("H28").value = Betrag6_TextBox.Text  
        Projekt.range("H29").value = Gesamtbetrag_Ergebnis_Label.Text  

        'Jahr festlegen  
        Jahrx = System.DateTime.Now.Year.ToString

        'Tag und 01 festlegen  
        If System.DateTime.Now.Day.ToString < 10 Then
            Tagx = "0" & System.DateTime.Now.Day.ToString  
        Else
            Tagx = System.DateTime.Now.Day.ToString
        End If

        'Monat festlegen  
        If System.DateTime.Now.Month.ToString < 10 Then
            Monatx = "0" & System.DateTime.Now.Month.ToString  
        Else
            Monatx = System.DateTime.Now.Month.ToString
        End If

        Do While My.Computer.FileSystem.FileExists("C:\Users\t.mueller\Downloads\Rechnungsprogramm\" & "RE" & Jahrx & "-" & Tagx & Monatx & x0 & x1 & ".txt")  
                x1 = x1 + +1
            Loop

        'Rechnungsnummer richtig schreiben wenn x1 > 9  
        If x1 < 9 Then
            Rechnungsnummer = "RE" & Jahrx & "-" & Tagx & Monatx & x0 & x1  
        Else
            Rechnungsnummer = "RE" & Jahrx & "-" & Tagx & Monatx & x1  
        End If


        'In Zelle schreiben  
        Projekt.range("B18").value = Rechnungsnummer  

    End Sub

End Class

Content-Key: 277183

Url: https://administrator.de/contentid/277183

Printed on: April 18, 2024 at 23:04 o'clock

Mitglied: 122990
122990 Jul 13, 2015 updated at 09:20:15 (UTC)
Goto Top
Das was du da machst ist kein VBA sondern VB.NET, da hat das ganze anders auszusehen ...

Workbook referenzieren
Dim wb = Projekt.Application.Workbooks.Open("C:\Users\t.mueller\Downloads\Rechnungsvorlage")   
und dann
If MsgBox("Wollen sie die Rechnung als PDF speichern?", vbYesNo) = vbYes then  
    wb.ActiveSheet.ExportAsFixedFormat(0, "C:\TEMP\Testdatei.pdf")  
End if
grexit
Member: TIM589
TIM589 Jul 13, 2015 at 11:52:30 (UTC)
Goto Top
Perfekte Lösung ich danke dir vielmals!!