Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
900to904
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
900to904
900to904
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

drucken

drucken
03.09.2007 10:55:00
ganz
Hallo,
ich habe folgendes:
Ich wähle in einer USERFORM über einen button eine datei aus, deren inhalt ich dann in einer combobox auswählen kann und ausdrucken kann.
Ich hätte gerne , dass ich über den button "auswählen", den gesamten ordner ausdrucke.
Beispiel:
klick auf button, c:mandantenbriefe/petra müller auswählen.
Alle xls dateien in c:mandantenbriefe/petra müller werden nach klick auf "drucken" 3 x ausgedruckt.
zur zeit habe ich es so das ich jede einzelne xls datei anwählen muß um sie auszudrucken.
kann mir da jemand helfen?
ich bedanke mich im voraus
Gruß
ralf

Private Sub UserForm_Activate()
Dim lstrFile As String
'in der nächsten Befehlszeile werden im Verzeichnis D:\ alle darin befindlichen Dateien
'in die Combobox eingelesen
'du musst bei pstrPfad anstelle von C:\ DEIN Verzeichnis eintragen, in dem sich
'deine Dateien befinden
'und wenn du nur bestimmte Dateien in der Combobox auflisten willst, musst du anstelle
'von *.* für z Bsp nur xls-Dateien *.xls eintragen
'du hast leider nicht erwähnt, welche Dateien aufgelistet werden sollen
pstrPfad = "C:\Mandantenbriefe\"
lstrFile = Dir(pstrPfad & "*.xls")
Do Until lstrFile = ""
ComboBox1.AddItem lstrFile
lstrFile = Dir
Loop
End Sub


6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: drucken
03.09.2007 16:51:00
Chris
Servus Unbekannter,
Makro1 liest die Pfade aus (Pfad anpassen!!!) und schreibt sie in die ComboBox:

Private Sub CommandButton1_Click()
Dim Dateien As Integer
Dim Dateipfad As String, Dateiname As String
With Application.FileSearch
On Error Resume Next
.NewSearch
.LookIn = "C:\Dokumente und Einstellungen\Christian\Desktop\Test\" ' Hier dein Pfad
.SearchSubFolders = True
.Filename = "*" & ".xls"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
Dateiname = Dir(.FoundFiles(Dateien))
Dateipfad = .FoundFiles(Dateien)
If Dateiname  ThisWorkbook.Name Then
Workbooks.Open Filename:=.FoundFiles(Dateien)
Dim strPfad As String
strPfad = ActiveWorkbook.Path
ComboBox1.AddItem strPfad
Workbooks(Dateiname).Close
End If
Next
End If
End With
End Sub


Makro2 druckt alle Sheets der jeweiligen Dateien im ausgewählten Pfad 3-mal.


Private Sub CommandButton2_Click()
Dim Dateien As Integer
Dim pfad
Dim wks As Worksheet
pfad = ComboBox1.Value
Dim Dateipfad As String, Dateiname As String
With Application.FileSearch
On Error Resume Next
.NewSearch
.LookIn = pfad
.SearchSubFolders = True
.Filename = "*" & ".xls"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
Dateiname = Dir(.FoundFiles(Dateien))
Dateipfad = .FoundFiles(Dateien)
If Dateiname  ThisWorkbook.Name Then
Workbooks.Open Filename:=.FoundFiles(Dateien)
For Each wks In ActiveWorkbook.Worksheets ' Hier wird jedes Worksheet gedruckt
wks.PrintOut Copies:=3, Collate:=True
Next wks
Workbooks(Dateiname).Close
End If
Next
End If
End With
End Sub


Du brauchst also eine UserForm mit einer ComboBox und 2 CommandButton.
Also zuerst Pfade auslesen, dann auswählen aus der ComboBox, dann drucken der jeweiligen Dateien.
Ich würde dir noch empfehlen:


Private Sub UserForm_Initialize()
ComboBox1.Clear
End Sub


Gruß
Chaos

Anzeige
AW: drucken
04.09.2007 08:58:27
ganz
Hallo Cgris,
ersteinmal vielen dank für Deine antwort und deine mühen.
kannst du mir vielleicht eine beispieldatei hochladen?
ich wäre dir sehr dankbar
gruß
ralf

AW: drucken
04.09.2007 14:31:00
Chaos
Servus Ralf,
hier hast du mal eine Beispieldatei. Ich hab das einlesen der Combobox in die Initialize-Anwendung gepackt.
Dann kann man auf einen Button verzichten. Wie gesagt den Pfad anpassen!!!
https://www.herber.de/bbs/user/45678.xls
Gruß
Chaos

AW: Nachtrag
04.09.2007 15:24:00
Chaos
Servus,
nicht wundern in der Beispielmappe ist statt des Druckbefehls (Testzwecke) eine MsgBox eingebaut (MsgBox s). Hier den Druckbefehl einbauen.
wks.PrintOut Copies:= 3 Collate:= True
Gruß
Chaos

Anzeige
AW: Nachtrag
04.09.2007 21:41:00
ganz
Einfach nur super,
vielen vielen dank
gruß
aus bonn

AW: Bitteschön
04.09.2007 22:30:43
Chaos
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige