XLSX Dateien per VBScript automatisch drucken
Hallo zusammen,
wir möchten gerne alle Excel Dateien aus einem Netzwerkordner per VB Script ausdrucken lassen:
Folgendes Script habe ich hier gefunden. Das Script druckt aber immer nur die aktuellste Datei aus.
Wie müsste das Script aussehen, das alle *.XLS Datei aus dem "MyPath" Ordner ausgedruckt werden?
Vielen Dank im Voraus für eure Hilfe.
wir möchten gerne alle Excel Dateien aus einem Netzwerkordner per VB Script ausdrucken lassen:
Folgendes Script habe ich hier gefunden. Das Script druckt aber immer nur die aktuellste Datei aus.
Wie müsste das Script aussehen, das alle *.XLS Datei aus dem "MyPath" Ordner ausgedruckt werden?
Vielen Dank im Voraus für eure Hilfe.
MyPath= "\\Server\Plaene\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(MyPath)
for each file in folder.Files
filedate = file.datelastmodified
if filedate > predate then
Dateiname=file.path
predate=filedate
end if
next
Set appXLS = CreateObject("Excel.Application")
Set wbkXLS = appXLS.Workbooks.Open(Dateiname,,True)
wbkXLS.sheets("Tabelle1").PrintOut
wbkXLS.Close
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 391914
Url: https://administrator.de/contentid/391914
Ausgedruckt am: 19.11.2024 um 19:11 Uhr
3 Kommentare
Neuester Kommentar
Dim excel, fso, file
' Konstanten anpassen!
Const PRINTERNAME = "HP Laserjet XYZ"
Const FOLDERNAME = "\\SERVER\PLAENE"
'Objekte erzeugen
Set fso = CreateObject("Scripting.FileSystemObject")
set excel = CreateObject("Excel.Application")
'Excel sichtbar machen (muss man nicht ist nur für den Test)
excel.visible = True
'Dialoge unterdrücken
excel.DisplayAlerts = False
'Für jede XLSX
For Each file In fso.GetFolder(FOLDERNAME).Files
If LCase(fso.GetExtensionName(file.Name)) = "xlsx" Then
' Datei öffnen
With excel.workbooks.Open(file.Path, false, true)
'gewünschtes Worksheet auf angegebenem Drucker drucken
.Worksheets(1).PrintOut ,,,,PRINTERNAME
'Workbook wieder schließen
.Close False
End With
End If
Next
'Warnmeldungen wieder aktivieren und Excel schließen
excel.DisplayAlerts = True
excel.Quit
'Objekte releasen
Set excel = Nothing
Set fso = Nothing
Benannte Parameter gibt's in VBS nicht da musst du die Parameter der Reihe nach wie in der Doku beschrieben angeben
https://msdn.microsoft.com/de-de/vba/excel-vba/articles/workbooks-open-m ...
Oben hinzugefügt.
https://msdn.microsoft.com/de-de/vba/excel-vba/articles/workbooks-open-m ...
Oben hinzugefügt.