Microsoft Excel

Herbers Excel/VBA-Archiv

alle Dateien eines Ordners drucken

Betrifft: alle Dateien eines Ordners drucken von: Helmut Oberle
Geschrieben am: 31.07.2020 18:51:40

Hallo Excel-VBA-Profis,

wer könnte mir bitte mit einem Makro helfen, das mir alle PDF-Dateien eines Ordners druckt.

Vielen Dank im voraus für die Unterstützung.

Gruß Helmut

Betrifft: AW: alle Dateien eines Ordners drucken
von: Daniel
Geschrieben am: 31.07.2020 19:41:15

Hi

im prinzip so (bitte in einem leeren Sheet testen)
dim Datei as string
dim Pfad as string

Pfad = "C:\dein\Ordner\"

Cells.Clear

datei = Dir(pfad & "*.pdf")
if Datei <> "" then
    Cells(1, 1).value = pfad
    do until datei = ""
        Cells(rows.count, 1).End(xlup).offset(1, 0).value = Datei
        datei = dir()
    Loop
    activesheet.printout
end if

Gruß Daniel

Betrifft: AW: alle Dateien eines Ordners drucken
von: Helmut Oberle
Geschrieben am: 31.07.2020 19:54:27

Hallo Daniel, zuerst mal vielen Dank für Deine Mühe.
Es spielt sich nichts in einer Excel-Tabelle ab.
Ich will nur von Excel aus einen VBA-Code starten, der die PDF-Dateien in einem Ordner ausdruckt.
Gruß Helmut

Betrifft: AW: alle Dateien eines Ordners drucken
von: Daniel
Geschrieben am: 31.07.2020 20:07:24

HI

dann müsstest du den Filenamen eben nicht ins Blatt schreiben, sondern über eine Shell-Anweisung an den Drucker schicken.

mit einer Suchmaschine deiner Wahl und den Suchbegriffen "shell befehl vba drucken"
sollte sich was finden lassen.

Gruß Daniel

Betrifft: Probiere mal folgendes...
von: Case
Geschrieben am: 01.08.2020 09:05:14

Hallo Helmut, :-)

... aus: ;-)
Option Explicit
Private Declare PtrSafe Function ShellExecuteA Lib "shell32.dll" ( _
    ByVal hwnd As LongPtr, _
    ByVal lpOperation As String, _
    ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As LongPtr
Private Const SW_HIDE As Long = 0
Public Sub Main()
    Dim strFileName As String
    Dim strPath As String
    ' Pfad mit anpassen...
    strPath = "C:\Temp\"
    If Right(strPath, 1) <> "\" Then strPath = strPath & "\"
    strFileName = Dir$(strPath & "*.pdf")
    Do Until strFileName = vbNullString
        Call ShellExecuteA(Application.hwnd, "PRINT", strPath & _
            strFileName, vbNullString, vbNullString, SW_HIDE)
        DoEvents
        strFileName = Dir$
    Loop
End Sub
Servus
Case


Betrifft: AW: Probiere mal folgendes...
von: Helmut Oberle
Geschrieben am: 01.08.2020 09:25:30

Hallo Case, vielen vielen Dank, Du hast mir durch Deine Lösung sehr geholfen. Es hat wunderbar geklappt! Schönes Wochenende.
Gruß Helmut

Beiträge aus dem Excel-Forum zum Thema "alle Dateien eines Ordners drucken"