Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
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

x-beliebeige Datei ausdrucken

x-beliebeige Datei ausdrucken
Urmila
Hallo alle zusammen,
Ich bräuchte biitttteee eure Hilfe.
im Web hab ich einiges über drucken gefunden jedoch nicht für xy Datei.
Im Verzeichnis "C:\Test\" liegen einige Dateien, da sind PDFs, PPTs, DOCs (hmmm...was gibts noch?) also verschiedene Dateiformate.
Im Spalte A stehen die Dateinamen, die ich gern ausdrucken würde. Die Schleife werde ich zwar hinbekommen, nur brauche ich den Code, womit er anhand der vorgegebener Liste in Spalte A die Dateien (mit STANDARDFESTGELEGTEN Drucker) ausdruckt. Also eigentlich nur den Code für das Drucken einer x-belieben Dateis.
Ich hoffe ich war verständlich und es gibt hierfür eine Lösung.
Danke euch im voraus und LG
Urmila

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
hier mal ein Beispiel dazu...
24.03.2010 17:04:33
Tino
Hallo,
müsste so funktionieren.
Public Declare Function ShellExecute Lib "shell32.dll" Alias _
    "ShellExecuteA" (ByVal hWnd As Long, _
                     ByVal lpOperation As String, _
                     ByVal lpFile As String, _
                     ByVal lpParameters As String, _
                     ByVal lpDirectory As String, _
                     ByVal nshowcmd As Long) As Long

Const SW_MAXIMIZE = 3      ' Maximiert öffnen 
Const SW_MINIMIZE = 6      ' Minimiert öffnen 
Const SW_NORMAL = 1


Sub Print_Datei(strFile As String)
 Call ShellExecute(0, "print", strFile, "", "", SW_MINIMIZE)
End Sub


Sub Beispiel_Aufruf()
Dim LRow As Long, MaxRow As Long

With Tabelle1 'Tabelle anpassen 
    MaxRow = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile 
    If MaxRow > 1 Then 'sind Daten vorhanden 
        'Schleife ab Zeile 2 
        For LRow = 2 To MaxRow
            'Zelle nicht leer? 
            If .Cells(LRow, 1) <> "" Then
                'Datei vorhanden? 
                If Dir(.Cells(LRow, 1), vbNormal) <> "" Then
                    Call Print_Datei(.Cells(LRow, 1))
                End If
            
            End If
        
        Next LRow

    End If
End With
End Sub
Gruß Tino
Anzeige
AW:
25.03.2010 08:04:34
Urmila
Hallo Tino,
Danke erstmal für die nette Antwort.
Ich habe die Public Anweisung in einem Modul eingegeben, den Sub einfach einen ComandButton zugewiesen. In Spalte A steht der Dateiname. Sobald ich den Script ausführe, tut nix machen.
Habe in den Zellen der Spalte A einmal mit ganzen Pfad und einmal nur Dateinamen eingegeben (wobei im Script nirgendswo was für Pfad steht)
Mache ich da etwas falsch?
Danke und LG
Urmila
ich dachte die Schleife sei kein Problem?!
25.03.2010 17:37:19
Tino
Hallo,
bei mir funktioniert es so wenn der komplette Pfad in den Zellen steht.
Wenn Du den Pfad separat angeben willst, mach es mit einer Stringvariablen.
z. Bsp so.
Sub Beispiel_Aufruf()
Dim LRow As Long, MaxRow As Long
Const strPath$ = "D:\Ordner\"
With Tabelle1 'Tabelle anpassen
MaxRow = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile
If MaxRow > 1 Then 'sind Daten vorhanden
'Schleife ab Zeile 2
For LRow = 2 To MaxRow
'Zelle nicht leer?
If .Cells(LRow, 1)  "" Then
'Datei vorhanden?
If Dir(strPath$ & .Cells(LRow, 1), vbNormal)  "" Then
Call Print_Datei(strPath$ & .Cells(LRow, 1))
End If
End If
Next LRow
End If
End With
End Sub
Gruß Tino
Anzeige
AW: ist ja auch kein problm eigentlich
26.03.2010 10:25:30
Urmila
Hallo Tino,
jedenfalls habe ich etliche male den Code umgeändert und es tut nichts machen. Er geht zwar die Schleife durch aber druckt nicht die Dokumente aus.
Ich hänge hier die Datei an, so stimmt das doch oder?
https://www.herber.de/bbs/user/68815.xls
Danke und LG
Urmila
AW: ist ja auch kein problm eigentlich
26.03.2010 17:27:57
Tino
Hallo,
habe es eben noch mal getestet, bei mir funktioniert es.
Sind die Dateien auch vorhanden?
Gehe den Code mit F8 in einzelschritten durch.
Gruß Tino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige