Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1924to1928
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Beschleunigung VBA-Makro "pdf erstellen"

Beschleunigung VBA-Makro "pdf erstellen"
12.04.2023 18:05:21
Patrick

Hallo Zusammen,
habe unten aufgeführtes Makro erstellt welches für die Erstellung eines pdf's ca. 45 s benötigt. Hat jemand eine Idee wie die Ausführungszeit beschleunigt werden kann ohne die Funktionalität des Makros einzuschränken. Vielen Dank. Patrick

Sub pdf_erstellen_und_speichern()
' Working in Office 2000-2023
Dim ws As Worksheet
Dim wb As Workbook
Dim fileSaveName As Variant
Dim pdfPath As String
Dim pdfName As String
Dim confirmOverwrite As VbMsgBoxResult
Dim fromPage As Integer
Dim toPage As Integer

'Arbeitsblatt und Workbook referenzieren
Set wb = ActiveWorkbook
Set ws = ActiveSheet

'PDF speichern
pdfName = ws.Range("k24").Value & "-" & Range("m24").Value
pdfPath = wb.Path & "\" & pdfName & ".pdf"

' Aus Mutterblatt Zelle K21 den Speicherpfad auslesen
pdfPath = wb.Worksheets("Mutterblatt").Range("K21").Value & "\" & pdfName & ".pdf"

On Error Resume Next
' Dialog zum Speichern der Datei anzeigen
fileSaveName = Application.GetSaveAsFilename(pdfPath, "PDF-Datei (*.pdf), *.pdf")

If fileSaveName > False Then
If Dir(fileSaveName) > "" Then ' Überprüfen, ob die Datei bereits vorhanden ist
confirmOverwrite = MsgBox("Die Datei existiert bereits. Möchten Sie sie überschreiben?", vbYesNo + vbQuestion, "Datei existiert bereits")
If confirmOverwrite = vbNo Then Exit Sub ' Wenn der Benutzer "Nein" auswählt, wird das Makro beendet
End If

'Die Seitenbereiche aus den Zellen O3 und Q3 auslesen:
fromPage = ws.Range("O3").Value
toPage = ws.Range("Q3").Value

ws.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileSaveName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=fromPage, To:=toPage, OpenAfterPublish:=True

'From:=fromPage, To:=toPage,
'From:=1, To:=2,

End If

End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Beschleunigung VBA-Makro "pdf erstellen"
12.04.2023 18:19:59
Phio
Teste mal dieses hier: Vielleicht hilft es.
Sub pdf_erstellen_und_speichern()
' Working in Office 2000-2023
    Dim ws As Worksheet
    Dim wb As Workbook
    Dim fileSaveName As Variant
    Dim pdfPath As String
    Dim pdfName As String
    Dim confirmOverwrite As VbMsgBoxResult
    Dim fromPage As Integer
    Dim toPage As Integer

    'Arbeitsblatt und Workbook referenzieren
    Set wb = ThisWorkbook
    Set ws = wb.Worksheets("Sheet1")

    'PDF speichern
    pdfName = ws.Range("K24").Value & "-" & ws.Range("M24").Value
    pdfPath = wb.Worksheets("Mutterblatt").Range("K21").Value & "\" & pdfName & ".pdf"

    ' Dialog zum Speichern der Datei anzeigen
    fileSaveName = Application.GetSaveAsFilename(pdfPath, "PDF-Datei (*.pdf), *.pdf")

    If fileSaveName > False Then
        If Dir(fileSaveName) > "" Then ' Überprüfen, ob die Datei bereits vorhanden ist
            confirmOverwrite = MsgBox("Die Datei existiert bereits. Möchten Sie sie überschreiben?", vbYesNo + vbQuestion, "Datei existiert bereits")
            If confirmOverwrite = vbNo Then Exit Sub ' Wenn der Benutzer "Nein" auswählt, wird das Makro beendet
        End If

        'Die Seitenbereiche aus den Zellen O3 und Q3 auslesen:
        fromPage = ws.Range("O3").Value
        toPage = ws.Range("Q3").Value

        ws.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileSaveName, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=fromPage, To:=toPage, OpenAfterPublish:=True
    End If
End Sub

Anzeige

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige