Verschiedene Dateien zeitgesteuert ausdrucken

05/04/2008 - 22:26 von Jens Wennemede | Report spam
Hallo Ihr fleißigen Helfer,

Ich hatte gerade eine Idee die sich mit VBA bestimmt realisieren làßt.
Leider reichen meine VBA Kentnisse nicht aus um dies zu realisieren. Aber
ich kenne hier die fleißigen Helfer die das bestimmt hin bekommen. Danke
jetzt schon mal.

Wir haben bei uns viele Exceldateien, welche rein via Makro bedient werden,
so auch der Ausdruck der einzelnen Tabellen. Diese werden z.b. wie folgt
ausgedruckt.

Sub ausdruck()
Application.Run "zuproduktion"
Application.Run "zutimecycle"
Sheets(Array("Produktionskontrolle", "Timecycle")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"\\print01-dela.cibasc.com\DELA-B0105 auf Ne05:", Collate:=True
Sheets("Produktionskontrolle").Select
Application.Run "zurück_alle_daten"
Sheets("Timecycle").Select
Application.Run "zurück_alle_daten"
Sheets("Start").Select
End Sub

Hiervon gibt es jetzt mehre Dateien die jeden Morgen ausgedruckt werden. Es
müssen immer ca. 10 Dateien geöffnet werden und dann wird der Button
geklickt um die Datei zu drucken. Der Code zum ausdrucken sieht in allen
Dateien gleich aus und hat immer den selben Namen.

Meine Idee: Eine Exceldatei die auf einem Rechner làuft, diese Datei ist
immer offen, diese startet automatisch um 7.00 Uhr den Ausdruck der Dateien.

Also es soll ein Zeitgesteuertes Ausdrucken (öffnen der Dateien und starten
der Druckmakros, am besten nacheinander) realisert werden. Gut wàre auch
noch wenn man über ein Auswahlfenster die Dateien auswàhlen kann die man
tàglich ausdrucken möchte, da sich dies von Zeit zu Zeit veràndert.

Ich hoffe auf Eure Hilfe bei diesem Projekt.


Grüß Jens


Windows Vista & Office 2003
 

Lesen sie die antworten

#1 Robert Gelbmann
06/04/2008 - 23:49 | Warnen spam
Hallo Jens!

"Jens Wennemede" schrieb ...
Wir haben bei uns viele Exceldateien, welche rein via Makro
bedient werden, so auch der Ausdruck der einzelnen Tabellen. Diese
werden z.b. wie folgt ausgedruckt.
[...]
müssen immer ca. 10 Dateien geöffnet werden und dann wird der
Button geklickt um die Datei zu drucken. Der Code zum ausdrucken
sieht in allen Dateien gleich aus und hat immer den selben Namen.

Meine Idee: Eine Exceldatei die auf einem Rechner làuft, diese
Datei ist immer offen, diese startet automatisch um 7.00 Uhr den
Ausdruck der Dateien.

Also es soll ein Zeitgesteuertes Ausdrucken (öffnen der Dateien
und starten der Druckmakros, am besten nacheinander) realisert
werden. Gut wàre auch noch wenn man über ein Auswahlfenster die
Dateien auswàhlen kann die man tàglich ausdrucken möchte, da sich
dies von Zeit zu Zeit veràndert.
[...] Windows Vista & Office 2003




Nun - um es nicht komplizierter als nötig zu machen - würde ich die
einzelnen Dateinamen inklusive der Speicherpfade einfach auf einem
Tabellenblatt untereinander schreiben (im unten stehenden Beispiel
am Blatt "Tabelle1" ab der Zelle A1). Dann kannst du die Dateien
problemlos mit einer For-Each-Schleife abklappern und nacheinander
öffnen:

'snip
Sub Alle_Dateien_Oeffnen()
Dim rng As Range
For Each rng In
Worksheets("Tabelle1").Range("A1").CurrentRegion.Rows
If Dir(rng.Value) = "" Then
MsgBox "Die Datei """ & rng.Value & """ wurde nicht
gefunden!", vbCritical
End
Else
Workbooks.Open Filename:=rng.Value
End If
Next
End Sub
'snip


Zum zeitgesteuerten Makroausführen:

Prinzipiell ginge das schon mit der OnTime-Anweisung:

'snip
Sub Zeitschleife_beginnen()
Application.OnTime TimeValue("07:00:00"), "MeinHauptmakro"
End Sub
'snip

Die gleiche Anweisung müsstest du aber auch am Ende deines
Hauptmakros schreiben, damit sich der Makro am nàchsten Tag quasi
wieder selbst aufruft.


Allerdings gebe ich zu Bedenken, dass dann eben - wie du schon
erwàhnt hast - Excel mit der betreffenden Arbeitsmappe am
betreffenden PC permanent geöffnet sein muss. Etwas
"stabiler"/effizienter wàre es daher IMHO, wenn du den Systemdienst
(Geplante Tasks) verwenden würdest, um Excel mit der Datei zur
angegebenen Stunde zu starten. Dazu müsstest du aber dann
entsprechende Sicherheitsmaßnahmen ergreifen (damit die Datei
automatisch mit aktivierten Makros startet).


In der Hoffnung geholfen zu haben, verbleibe ich mit einem leisen


Servus aus Wien,
-Robert Gelbmann-

I solemnly swear that I'm up to no good.

Ähnliche fragen