Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
792to796
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
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Alle Sheets d. xls-Dateien ebest. Pfades drucke

Alle Sheets d. xls-Dateien ebest. Pfades drucke
24.08.2006 21:08:45
Peter
Guten Abend miteinander
Mich möchte gerne alle xls-Dateien in einem bestimmten Order drucken, und zwar alle Sheets jeder Datei.
Kann mir da jemand weiterhelfen?
Dankeschön!
Peter

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle Sheets d. xls-Dateien ebest. Pfades drucke
24.08.2006 21:19:16
chris
Hallo Peter, mit diesem Makro sollte das funktionieren.
Es öffnet jede Datei, druck alle tabellen die in ihr sind und schliest diese dann wieder ohne zu speichern.

Sub DateinamenAuflisten()
Dim Dateiname As String, i As Integer
Dateiname = Dir$("c:\test\*.xls")
Do While Dateiname <> ""
Workbooks.Open "c:\test\" & Dateiname, False
For Each cb In ActiveWorkbook.Worksheets
cb.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next
ActiveWorkbook.Close False
Dateiname = Dir$()
Loop
End Sub

AW: Alle Sheets d. xls-Dateien ebest. Pfades drucke
24.08.2006 22:05:27
Peter
Vielen Dank Chris
Das funktioniert!
Peter
Anzeige
AW: Alle Sheets d. xls-Dateien ebest. Pfades drucke
24.08.2006 22:42:02
peter
Hallo
Ich habe noch zwei Anschlussfragen.
Was ist der Unterschied zwischen "cb" und "Worksheet"?
Wenn ich eine Tabelle ausgeblendet habe, stoppt das Makro.
Was kann man dagegen tun (ausser die Tabelle einzublenden)?
Danke für Feedback.
Peter
AW: Alle Sheets d. xls-Dateien ebest. Pfades drucke
24.08.2006 22:47:23
Kurt
Hi,
cb ist eine Variable, die aber nicht deklariert wurde, schlecht als Beispiel für ein Forum.
"Was kann man dagegen tun (ausser die Tabelle einzublenden)?"
Nichts, nur sichtbare Blätter können gedruckt werden.
mfg Kurt
AW: Alle Sheets d. xls-Dateien ebest. Pfades druck
25.08.2006 01:05:33
fcs
Hallo Peter,
wenn du die ausgeblendeten Tabellen nicht drucken möchtest, dann etwa so anpassen:


Sub DateinamenAuflisten()
Dim Dateiname As String, cb As Worksheet
Dateiname = Dir$("c:\test\*.xls")
Do While Dateiname <> ""
Workbooks.Open "c:\test\" & Dateiname, False
For Each cb In ActiveWorkbook.Worksheets
If cb.Visible = xlSheetVisible Then
cb.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Else
'do nothing oder leg halt fest was passieren soll
End If
Next
ActiveWorkbook.Close False
Dateiname = Dir$()
Loop
End Sub


gruss
Franz
Anzeige
AW: Alle Sheets d. xls-Dateien ebest. Pfades druck
25.08.2006 21:40:27
Peter
Vielen Dank allen Antwortenden
Ich habe mir eigentlich vorgestellt, dass nach dem Oeffnen der Datei alle Tabellen gleichzeitig ausgewählt werden und dann der Druckbefehl gegeben wird (M.E. geschwindigkeitsmässig schneller, als jede einzelne anwählen). Ich habe dies mit dem Makrorecorder aufgezeichnet, dies ergibt aber nichts brauchbares, da alle Tabellen namentlich erwähnt werden, was heisst, dass dieser Code bei jeder anderen Datei nicht laufen würde.
Kann mir da jemand weiterhelfen?
Danke, Peter
AW: Alle Sheets d. xls-Dateien ebest. Pfades druck
27.08.2006 17:47:17
fcs
Hallo Peter,
hierfür gibt es im Drucken-Dialogfenster die Auswahlmöglichkeit "Gesamte Arbeitsmappe". Der gesamte Code, inkl. Sicherheitsabfrage ob die Datei mit gleichem Namen geöffnet werden soll, schaut dann etwa so aus. Beachte bitte, dass dann die Seiten ggf. fortlaufend über alle Blätter nummeriert werden.
Gruss
Franz

Sub Dateien_Mappe_Drucken()
'Druckt die gesamte Arbeitsmappe in den Dateien gemäß Pfad- und Filtereinstellung
'Alle Tabellen werden dabei wenn Seitenzahlen in Kopf- bzw. Fußzeile eingerichtet sind
'mit fortlaufenden Seitennummern gedruckt wenn für die Blätter unter Seite einrichten
'"erste Seitenzahl" auf "Automatisch" eingestellt ist
Dim wb As Workbook, Dateiname As String
Dim Pfad As String, Filter As String, ThisFile
ThisFile = ThisWorkbook.Name
Pfad = "c:\test\values"
Filter = "*.xls"
Dateiname = Dir$(Pfad & "\" & Filter)
Do While Dateiname <> ""
'Prüfung ob Dateiname = Name der Datei ist in der dieses Makro gespeichert ist.
If Dateiname = ThisFile Then
If Pfad = ThisWorkbook.Path Then
Set wb = ThisWorkbook
Else
MsgBox "Die zu druckende Datei im Verzeichnis " & vbLf & vbLf _
& Pfad & vbLf & vbLf & "hat den gleichen Namen wie diese Datei!" _
& vbLf & vbLf & "Die Datei kann nicht gedruckt werden!"
End If
Else
Set wb = Workbooks.Open(Pfad & "\" & Dateiname, False)
End If
'Datei drucken
wb.PrintOut Copies:=1, Collate:=True
If wb.Name <> ThisFile Then
wb.Close savechanges:=False
End If
Dateiname = Dir$()
Loop
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige