Aus Excel speichern als PDF mit Nummerierung
Ich habe ein kleines Programm geschrieben, bei dem man mit einer Excel Vorlage eine Rechnung schreiben kann. Im Fenster, was ich geschrieben habe, werden Name, Adresse usw. alle Daten auf der Rechnung eingegeben, danach öffnet sich Excel mit den eingefüllten Werten.
Mir fehlt jetzt nur noch das Automatische abspeichern als PDF. Hier würde ich gerne beim PDF-Name die Rechnungsnummer01 (diese wird immer generiert) verwenden + falls der Name bereits existiert, soll hochgezählt werden mit 02,03,... also der erste Name ist quasi am: Rechnungsnummer01 falls dieser Dateiname schon existiert Rechnungsnummer02.
Und die Rechnungsnummer muss natürlich auf der Rechnung genauso abgeändert werden.
Ich habe hier einen Code gefunden aber mir ist hier einiges unklar, somit habe ich es leider nicht fertig gebracht diesen für mich umzuschreiben.
Hier wäre mal der Code von meinem Programm:
Mir fehlt jetzt nur noch das Automatische abspeichern als PDF. Hier würde ich gerne beim PDF-Name die Rechnungsnummer01 (diese wird immer generiert) verwenden + falls der Name bereits existiert, soll hochgezählt werden mit 02,03,... also der erste Name ist quasi am: Rechnungsnummer01 falls dieser Dateiname schon existiert Rechnungsnummer02.
Und die Rechnungsnummer muss natürlich auf der Rechnung genauso abgeändert werden.
Ich habe hier einen Code gefunden aber mir ist hier einiges unklar, somit habe ich es leider nicht fertig gebracht diesen für mich umzuschreiben.
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="C:\" & Sheets("Maskeneingabe").Range("A8").text & " " & Sheets("Maskeneingabe").Range("A9").text & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Hier wäre mal der Code von meinem Programm:
Public Class Rechnung
Private Sub Rechnung_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
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
Dim Projekt As Object
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 = Straße_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
Dim Rechnungsnummer As String
If System.DateTime.Now.Day.ToString < 10 Then
Rechnungsnummer = System.DateTime.Now.Year.ToString() & "-" & "0" & System.DateTime.Now.Day.ToString()
Else
Rechnungsnummer = System.DateTime.Now.Year.ToString() & "-" & System.DateTime.Now.Day.ToString()
End If
If System.DateTime.Now.Month.ToString < 10 Then
Rechnungsnummer = Rechnungsnummer & "0" & System.DateTime.Now.Month.ToString()
Else
Rechnungsnummer = Rechnungsnummer & System.DateTime.Now.Month.ToString()
End If
Projekt.range("B18").value = Rechnungsnummer & "01"
End Sub
End Class
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 276240
Url: https://administrator.de/contentid/276240
Ausgedruckt am: 26.11.2024 um 14:11 Uhr
3 Kommentare
Neuester Kommentar