Office: (Office 2019) Speichern einer Sicherheitsdatei als PDF

Helfe beim Thema Speichern einer Sicherheitsdatei als PDF in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Liebe Excel Profis da meine Kenntnisse für VBA echt gering sind, bitte ich etwas um Nachsicht. Ich habe mir ein Makro gebastelt das nur speichert... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Kruemi, 10. Juni 2025.

  1. Kruemi Neuer User

    Speichern einer Sicherheitsdatei als PDF


    Hallo Liebe Excel Profis
    da meine Kenntnisse für VBA echt gering sind, bitte ich etwas um Nachsicht.
    Ich habe mir ein Makro gebastelt das nur speichert wenn ein USB Stick ermittelt wurde. funktioniert soweit. Das Speichern der Datei als .xlsm funktioniert auch wie es soll, nur beim Speichern der PDF wird ein komischer Name erzeugt. Der wie folgt aussieht

    Monatslisten%20-%20Abschluß%20Mai%202025

    %20 soll eigentlich ein Leerzeichen sein? Könnte mir jemand sagen warum dies geschieht? Der Code sieht wie folgt aus:

    Code:
    Sub Test()
    
    Dim LWe As Object
    Dim LW As Object
    Dim Pfad As String
    Dim Tabelle_save As String
    
    Set LW = CreateObject("Scripting.filesystemobject").Drives
    Pfad = ActiveWorkbook.Path
       
        For Each LWe In LW
            If LWe.IsReady = True And LWe.drivetype = 1 Then   '
           
        Tabelle_save = Pfad & "Monatslisten - " & "Abschluß " & Format(DateSerial(Year(Now), Month(Now), 0), "MMMM YYYY") & ".pdf"
     
        ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=Tabelle_save, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
       
        Tabelle_save = Pfad & "Monatslisten - " & "Abschluß " & Format(DateSerial(Year(Now), Month(Now), 0), "MMMM YYYY") & ".xlsm"
       
        ActiveWorkbook.SaveCopyAs Filename:=Tabelle_save
    
        'Application.Quit
       
        End If
        Next
    End Sub
    
    
    Vielen Dank Schon mal von meiner Seite
    schöne Grüße
    Kruemi
     
    Kruemi, 10. Juni 2025
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    benutze den Makrorecorder für das Speicher als PDF.

    Speichern einer Sicherheitsdatei als PDF GrußformelSpeichern einer Sicherheitsdatei als PDF Homepage
     
    Hajo_Zi, 11. Juni 2025
    #2
  3. Kruemi Neuer User
    Hallo Hajo,
    Danke für Deine Antwort.
    Das habe ich gemacht und dann den aufgezeichneten Code eingefügt. Das Speichern der PDF funktioniert gut, nur der Name der abgelegten Datei ist nicht so wie es soll. Ich bekomme statt Leerzeichen %20 und ich weiß nicht woran es liegt.
    aktueller Zustand - "Monatslisten%20-%20Abschluss%20Mai%202025"
    soll Zustand - "Monatslisten - Abschluss Mai 2025"

    schöne Grüße
    Kruemi
     
    Kruemi, 11. Juni 2025
    #3
  4. BoskoBiati Erfahrener User

    Speichern einer Sicherheitsdatei als PDF

    Hi,

    es wäre besser, Dateinamen ohne Leerzeichen und mit Unterstrich zu erzeugen!
    "Monatslisten_ Abschluss_Mai_2025"
    Die Leerzeichen erzeugen die %20!
     
    BoskoBiati, 11. Juni 2025
    #4
  5. d'r Bastler
    d'r Bastler Erfahrener User
    Moin Kruemi,

    beim Testen Deines Codes hat sich Dein Namenskonstrukt (per Debug.Print tabelle_save jeweils in den Zeilen unterhalb tabelle_save = brav) gezeigt, wie Du es erwartest. Nur erscheint die PDF-Datei nicht auf dem Stick, weil Dein Code beim Speichern des PDF mit Objektfehler abbricht (was sich aber als mein Fehler heraus gestellt hat, PDFs ohne Inhalt werden nun mal nicht gedruckt).

    Hier mal eine VBAstelei, die Du in den Code eines Moduls kopierst:
    Code:
    Sub VBAstel_Test()
    Dim wb As Workbook, oWMI As Object, cDrvs As Object, Drv As Object
    Dim sPath As String, sPDF As String, sXLSM As String, sDrv As String
    
    Set wb = ActiveWorkbook
    Set oWMI = GetObject("winmgmts:\\.\root\CIMV2")
    Set cDrvs = oWMI.ExecQuery("Select * from Win32_LogicalDisk")
    
    sPath = wb.Path & "\"
    sPDF = "Monatslisten-Abschluss " & Format(DateSerial(Year(Now), Month(Now), 0), "MMMM YYYY") & ".pdf"
    sXLSM = "Monatslisten-Abschluss " & Format(DateSerial(Year(Now), Month(Now), 0), "MMMM YYYY") & ".xlsm"
    
    For Each Drv In cDrvs
        If Drv.Drivetype = 2 Then
            sDrv = Drv.deviceid & "\"
            sPDF = sDrv & sPDF
            sXLSM = sDrv & sXLSM
            Debug.Print sPDF
            Debug.Print sXLSM
        End If
    Next Drv
    
    wb.Save
    wb.SaveCopyAs sXLSM
    DoEvents
    wb.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPDF, Quality:=xlQualityStandard
    
    Set oWMI = Nothing
    
    End Sub
    
    Wenn es dann noch Probleme mit dem Dateinamen gibt, siehst Du das im Direktfenster und nimmst Boskos Tipp mit den Unterstrichen an. Dann lässt Dein System die Leerzeichen nicht zu, was bei all meinen Systemen Win10/11 und Mac kein Problem ist.
    Anmerkung: Nach einer Office-Reparatur war unter den Extras die Microsoft Scripting Runtime noch nicht wieder am Start. Daher der Umweg über WMI.

    Grüße
     
    Zuletzt bearbeitet: 11. Juni 2025
    d'r Bastler, 11. Juni 2025
    #5
  6. Hi,

    vielleicht klappt es ja mit dem Vorschlaghammer:
    Code:
    
    Sub Test()
    Dim LWe As Object
    Dim LW As Object
    Dim Pfad As String
    Dim Tabelle_save As String
    
    Set LW = CreateObject("Scripting.filesystemobject").Drives
    Pfad = ActiveWorkbook.Path
       
        For Each LWe In LW
            If LWe.IsReady = True And LWe.drivetype = 1 Then   '
           
        Tabelle_save = Pfad & "Dummy.pdf"
       
        ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=Tabelle_save, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
       
        Name Tabelle_save As Pfad & "Monatslisten - " & "Abschluß " & Format(DateSerial(Year(Now), Month(Now), 0), "MMMM YYYY") & ".pdf"
       
        Tabelle_save = Pfad & "Monatslisten - " & "Abschluß " & Format(DateSerial(Year(Now), Month(Now), 0), "MMMM YYYY") & ".xlsm"
       
        ActiveWorkbook.SaveCopyAs Filename:=Tabelle_save
    
        'Application.Quit
       
        End If
        Next
    End Sub
    
    Gruß
    Jürgen
     
    JürgenRe, 11. Juni 2025
    #6
  7. d'r Bastler
    d'r Bastler Erfahrener User
    Moin Jürgen! Ungetestet, aber fehlt in Deinem Pfad nicht ein "\" ?

    @Kruemi Falls Dir die FSO-Version mehr zusagt, hier eine etwas elegantere Fassung:
    Code:
    Sub VBAstel_Test_FSO()
    Dim wb As Workbook, FSO As Object, oDrv As Object
    Dim sPath As String, sDrv As String, sFile As String
    Dim sPDF As String, sXLSM As String
    
    Set wb = ActiveWorkbook
    Set FSO = CreateObject("Scripting.filesystemobject").Drives
    
    sPath = wb.Path & "\"
    sFile = "Monatslisten-Abschluss " & Format(DateSerial(Year(Now), Month(Now), 0), "MMMM YYYY")
    sPDF = sFile & ".pdf": sXLSM = sFile & ".xlsm"
    
    For Each oDrv In FSO
         If oDrv.IsReady And oDrv.DriveType = 1 Then
            sDrv = oDrv.DriveLetter & ":\"
            sPDF = sDrv & sPDF
            sXLSM = sDrv & sXLSM
            Debug.Print sPDF
            Debug.Print sXLSM
        End If
    Next oDrv
    
    wb.Save
    wb.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPDF, Quality:=xlQualityStandard
    wb.SaveCopyAs sXLSM
    
    Set FSO = Nothing
    
    End Sub
    
    Viel Spaß damit!
     
    d'r Bastler, 11. Juni 2025
    #7
  8. Speichern einer Sicherheitsdatei als PDF

    Hi Bastler,

    das ist der "Urcode" plus zwei Änderungen. Da müsste ich beim Kopieren versagt haben. Warten wir mal ab,
    deine Lösung ist ja leicht eleganter.

    Gruß
    Jürgen
     
    JürgenRe, 11. Juni 2025
    #8
    1 Person gefällt das.
  9. Kruemi Neuer User
    Hallo Zusammen,
    vielen Dank für die ganzen Vorschläge. Sie laufen alle ohne Fehler sauber durch und das Ergebnis ist das was ich haben möchte. Ich werde den Vorschlaghammer Code von Jürgen benutzen, weil ich den Aufbau kenne und weiß was da passiert. Speichern einer Sicherheitsdatei als PDF *:D*
    Nichts destotrotz werde ich auch Bastler seine Code´s saven um sie zu analysieren. (Vielleicht gibt es ja den einen oder anderen LernAHAeffekt).

    vielen Dank nochmal an Bastler und Jürgen Speichern einer Sicherheitsdatei als PDF *;)*
    schöne Grüße
    Kruemi
     
    Kruemi, 11. Juni 2025
    #9
  10. d'r Bastler
    d'r Bastler Erfahrener User
    Moin Kruemi,

    solche Fragesteller lobe ich mir Speichern einer Sicherheitsdatei als PDF *:p*!! Nicht nur Fragen stellen, sondern auch die Chance wahrnehmen, etwas KnowHow zu stibitzen Speichern einer Sicherheitsdatei als PDF *;)*

    Soll belohnt werden! Schau morgen mal auf VBAsteleien.de im Excel-Bereich vorbei. Dort stelle ich meine beiden Codes zu Deiner Frage mit ausführlichen Kommentaren ein. Da kannst Du dann sicher etwas abstauben Speichern einer Sicherheitsdatei als PDF :cool:

    Schöne Grüße
     
    d'r Bastler, 11. Juni 2025
    #10
  11. d'r Bastler
    d'r Bastler Erfahrener User
    d'r Bastler, 11. Juni 2025
    #11
Thema:

Speichern einer Sicherheitsdatei als PDF

Die Seite wird geladen...
  1. Speichern einer Sicherheitsdatei als PDF - Similar Threads - Speichern Sicherheitsdatei PDF

  2. PDF nach speichern nicht öffnen

    in Microsoft Excel Hilfe
    PDF nach speichern nicht öffnen: Moin, ich habe dieses Makro: Sub PDF() With ActiveSheet With .PageSetup .PrintArea = "$A$1:$e$46" .Orientation = 2 End With .ExportAsFixedFormat...
  3. Fehler beim speichern von Daten über ein Formular

    in Microsoft Access Hilfe
    Fehler beim speichern von Daten über ein Formular: Guten Morgen zusammen, ich habe ein Problem mit einer SQL Servertabelle, diese war bisher als Abfrage oder direkt als RS eines Formulars. Wenn nu n Daten geändert wurden, gab es oft, nicht immer,...
  4. Vorlagen (nach)bearbeiten und speichern

    in Sonstiges
    Vorlagen (nach)bearbeiten und speichern: Vorlagen können ja was feines sein. Aber irgendwie verstehe ich nicht, ob und wie man diese Nachträglich bearbeiten kann? Wenn ich eine Vorlage aufrufe, wird sie ja anschließend als "normales"...
  5. Excel Tabellenblatt als PDF speichern unter Vorgabe Dateinamen aus einer Zelle

    in Microsoft Excel Hilfe
    Excel Tabellenblatt als PDF speichern unter Vorgabe Dateinamen aus einer Zelle: Hallo zusammen, ich möchte eine VBA Programmierung machen wie folgt. Das aktuelle Excel-Tabellenblatt soll als PDF Speicher unter, unter Vorgabe des Dateinamens der in Zelle A1 steht gespeichert...
  6. Den Pfad verändern

    in Microsoft Excel Hilfe
    Den Pfad verändern: Einen schönen Sonntag erstmal in die Runde. Ich hätte noch ein Problem zu Office 2021. Beim speichern erner z. B. EXCEL Datei ist folgender Pfad aufgeführt, der mit dem FireFox Logo versehen ist....
  7. Excel per Button Speichern und Schliessen und "X - Button" deaktivieren

    in Microsoft Excel Hilfe
    Excel per Button Speichern und Schliessen und "X - Button" deaktivieren: Guten Morgen zusammen, ich suche nach einem VBA-Code (unter Office 365), um das Schließen einer Excel-Datei über das "Rote X" oben rechts zum Einen zu verhindern und statt dessen zum Anderen den...
  8. Datei als OLE-Objekt via FilePicker auswählen und speichern

    in Microsoft Excel Hilfe
    Datei als OLE-Objekt via FilePicker auswählen und speichern: Hallo zusammen, Leider funktioniert der nachfolgende Code nicht, um eine Datei als OLE-Objekt via FilePicker auszuwählen und zu speichern. Die Dateiauswahl funktioniert soweit, nur leider das...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden