Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Modul File Dialog

Begonnen von Richard100, August 08, 2021, 12:17:48

⏪ vorheriges - nächstes ⏩

Richard100

Liebe Access Gemeinde
ich bitte um Eure Hilfe da meine VBA Kenntnisse noch etwas gering sind.
Möchte gerne einen Bericht als pdf umwandeln und in einem Ordner ablegen - Habe dazu ein Modul Name File Dialog angelegt
Code
Option Compare Database
Option Explicit

  Public Function Ordnerdialog() As String
     Dim dlg As FileDialog
     
     Set dlg = Application.FileDialog(msoFileDialogFolderPicker)
     dlg.Title = "Zielverzeichnis wählen"
     dlg.InitialFileName = "C:\Users\Pongi\Documents\Test\"
     dlg.Show
     If dlg.SelectedItems.Count > 0 Then
         Ordnerdialog = dlg.SelectedItems.Item(1)
     End If
 End Function
desweiteren in einem Button im Bericht folgenden Code
Private Sub btnspeichern_Click()
   Dim Dateiname As String
 Dim Pfad As String
 
 'erst mal manuell eingegebener Pfad
 Pfad = Ordnerdialog()
 
 Dateiname = Pfad & Me!DokuZuweisung & Me!DokuArt & ".pdf"
 DoCmd.OutputTo acOutputReport, "berDokumente", acFormatPDF, Dateiname
End Sub
Fehlercode beim Aufruf (Modul FileDialog) Ein Modul hat einen unzulässigen Typ =Dim dlg As FileDialog
könnte mir bitte jemand eine Lösung geben

Vielen Dank
Richard

PhilS

Zitat von: Richard100 am August 08, 2021, 12:17:48Möchte gerne einen Bericht als pdf umwandeln und in einem Ordner ablegen - Habe dazu ein Modul Name File Dialog angelegt
[...]
Fehlercode beim Aufruf (Modul FileDialog) Ein Modul hat einen unzulässigen Typ =Dim dlg As FileDialog

Dein eigenes Modul heißt "FileDialog"? - Dann musst du dein Modul umbenennen, da es sonst mit der gleichnamigen Klasse "FileDialog" verwechselt wird.

Damit dein Code funktioniert, brauchst du außerdem einen Verweis auf die "Microsoft Office xx.x Objektbibliothek" (xx.x=Versionsnummer).
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Richard100

Vielen Dank Phil für Deine Hilfe es funktioniert, muss jetzt nur noch den Knopf finden für Thema gelöst

Richard100

Wie lautet der Code im Ordner wenn ich einen Unterordner auswählen will. Mit dem obigen legt er alles im Ordner Test ab obwohl ich einen Unterordner anklicke.
Gruß Richard

PhilS

Zitat von: Richard100 am August 08, 2021, 16:37:49Wie lautet der Code im Ordner wenn ich einen Unterordner auswählen will. Mit dem obigen legt er alles im Ordner Test ab obwohl ich einen Unterordner anklicke.
Die Frage verstehe ich nicht. Deine Ordnerdialog-Funktion liefert auch den Namen eines ausgewählten Unterordners.

Allerdings fehlt in deinem Code ein Backslash beim Zusammensetzen des Dateinamens, der dazu führt, dass die unterste Ordnerebene Teil des Dateinamens wird. Änderung wie folgt:
Dateiname = Pfad & "\" & Me!DokuZuweisung & Me!DokuArt & ".pdf"

Zitat von: Richard100 am August 08, 2021, 12:55:43[...] muss jetzt nur noch den Knopf finden für Thema gelöst
Den "Thema Gelöst"-Button gibt es im Moment nicht, wegen Änderungen an der Forensoftware.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Richard100

Danke Phil für Deine Hilfe
funktioniert einwandfrei

Gruß Richard