Halli hallo,
hab mal wieder ein Problem, und mir fehlt ehrlich gesagt ein Ansatz.
Also wie ich PDFs aus Access heraus öffnen kann weiß ich, das ist nicht da Problem.
Ich will nun im Formular einen Button drücken können, worauf sich ein Fenster öffnet, in dem ich erst das PDF aussuche, und Access dann dieses PDF umbenennt (nach Vorgaben in der Programmierung) und an programmierter Stelle abspeichert und diesen Pfad schlußendlich auch noch in ein Feld speichert.
Konnte leider hierzu bisher gar nicht finden.
Hallo, du benötigst einen Dateidialog um die PDF auszuwählen, danach kannst du die ausgewählte Datei so öffnen:
Application.FollowHyperlink strPDFName, , True
Andreas
Danke für den Tipp :)
Das war eine schwere Begurt, der Code sieht jetzt so aus und funkioniet auch :)
Private Sub cmd_ruecklaeufer_laden_Click()
Dim strPDFName As String
Dim Dateiname As String
Dim strJahr As String
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Bitte PDF-Datei auswählen"
.InitialFileName = "C:\Users\XXXL\Desktop\XXX\2015"
.Show
If .SelectedItems.Count > 0 Then strPDFName = .SelectedItems(1)
End With
Application.FollowHyperlink strPDFName, , True
Dim Fso As Object
Set Fso = CreateObject("Scripting.FileSystemObject")
Dateiname = "Ruecklaeufer" & "Nr_" & Mid((Me.rechnung_nummer), 5, 4) & ".pdf"
strJahr = Mid((Me.rechnung_versendungs_datum), 7, 4)
Dim SaveFn
SaveFn = "C:\Users\XXXL\Desktop\XXX\" & strJahr & "\" & Dateiname
On Error GoTo Fehler
Fso.CopyFile strPDFName, SaveFn, True
GoTo Ende
Fehler:
MsgBox "Fehler Nr" & Err.Number & vbCr & Err.Description
Ende:
If Not Fso Is Nothing Then
Set Fso = Nothing
End If
MsgBox " '" & SaveFn & "' wurde gespeichert"
Me.rechnung_rechnungspfad_ruecklaeufer = SaveFn
End Sub
Eine Kleinigkeit fehlt im Grunde noch:
nachdem sich die Datei öffnet und an anderer Stelle mit neuem Namen speichert, wäre es noch super, wenn der VBA-Code die Quelldatei automatisch löschen würde. Wie würde das denn aussehen?
Hi,
löschen kannst du mit dem Kill-Befehl - oder mit Fso.DeleteFile.
Dankeschön :)
Man man man :D