Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

PDF öffnen per Button Klick und Pfad speichern - Fortgeschritten

Begonnen von -Rockbiest-, Mai 07, 2015, 21:57:45

⏪ vorheriges - nächstes ⏩

-Rockbiest-

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.

Hondo

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

-Rockbiest-

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?

MaggieMay

Hi,

löschen kannst du mit dem Kill-Befehl - oder mit Fso.DeleteFile.
Freundliche Grüße
MaggieMay