ich schreibe gerade für private Zwecke ein Programm, dass zur Erstellung einer Rechnung dienen soll. Soweit so gut. Doch, wenn ich über
Application.Dialogs(xlDialogSaveAs).Show
versuche, einen vorgegeben Namen anzeigen zu lassen, dann klappt das für Excel 2010 aber nicht mehr für 2016. Das Programm läuft wie folgt ab:
-Der Nutzer klickt den Button "Rechnung erstellen"
-Dann erscheint noch eine Sicherheitsabfrage, ob man denn wirklich alles richtig hat
-Anschließend erscheint die Speichern unter Userform von Microsoft.
Dabei soll der Dateiname vordefiniert sein (und angezeigt werden!) und als PDF festgelegt werden.
Hier der vollständige Code
Private Sub Button_Rechnungerstellen_Click()
Dim Eingabewert As String
Dim letztezeile As Integer
Dim wkOR As Worksheet
Dim wkEin As Worksheet
Dim wkKD As Worksheet
Dim Dateiname As String
Set wkOR = Sheets("Offene Rechnungen")
Set wkEin = Sheets("Eintragungen")
Set wkKD = Sheets("Kundendaten")
Dateiname = Sheets("Eintragungen").Range("I14").Value & " - Rechnung Nr. " & Format(Sheets(" _
Eintragungen").Range("J8").Value, "000000") & _
" vom " & Left(Date, 2) & "." & Mid(Date, 4, 2) & "." & Right(Date, 4)
Eingabewert = MsgBox("Wirklich speichern ? Danach wird die Pdf erstellt und Änderungen sind _
nicht mehr möglich, da alle Informationen" & _
" zurückgesetzt werden.", vbOKCancel)
letztezeile = wkOR.Cells(Rows.Count, 2).End(xlUp).Row + 1
If Eingabewert = vbCancel Then
Exit Sub
Else
'Datei kann jetzt als PDF gespeichert werden. Zudem wird der Dateiname automatisch vergeben.
If Application.Dialogs(xlDialogSaveAs).Show(Dateiname, Arg2:=57) = False Then
Exit Sub
Else
'Rechnungsnummer wird hochgezählt
Sheets("Eintragungen").Range("J8").Value = _
Seets("Eintragungen").Range("J8").Value + 1
End If
End If
Was muss ich beim Dateinamen ändern, sodass dieser bei jeder Version von Excel läuft? Macht mich irgendwie wahnsinnig, dass es auf 2010 läuft und bei 2016 nichts im Dialogfeld auftaucht.