ich habe in meiner Exceldatei den Pfad und den Dateinamen von mehreren
Dateien, die auf meinem Verzeichnis sind, hinterlegt.
Nun benötige ich eine Möglichkeit, dass diese Dateien durch eine VBA
Programmierung automatisch ausgedruckt werden, wenn eine bestimmtes
Ereignis erfüllt ist (z.B. zahl=1).
Sobald zahl=1 sollten diese Dateien gedruckt werden.
Kann mir bitte jemand helfen.
Vielen Dank
Gruß Dennis
> ich habe in meiner Exceldatei den Pfad und den Dateinamen von mehreren
> Dateien, die auf meinem Verzeichnis sind, hinterlegt.
>
> Nun ben�tige ich eine M�glichkeit, dass diese Dateien durch eine VBA
> Programmierung automatisch ausgedruckt werden, wenn eine bestimmtes
> Ereignis erf�llt ist (z.B. zahl=1).
>
> Sobald zahl=1 sollten diese Dateien gedruckt werden.
Als erstes zeichnest Du Dir ein Makro auf und druckst die gew�nschten
Dateien, sagen wir mal das Makro hei�t DruckMakro.
Dann k�nnten wir eine Zelle z.B. A1 �berwachen ob sie 1 geworden ist:
--- schnipp ---
Dim LastValue As Variant
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = 1 And LastValue <> 1 Then DruckMakro
'Letzten Wert merken, sonst wird immer gedruckt!
LastValue = Range("A1").Value
End Sub
--- schnapp ---
Der Code muss in das Codemodul der Tabelle, wie's geht steht hier:
http://www.online-excel.de/excel/singsel_vba.php?f=44#s4
Andreas.
Gruß D.
>Danke, nur es bleibt weiterhin dasProblem, dass die Daten keine
>Exceldateien, sondern Word und PDF-Files sind.
Und du meinst, das sei nicht wichtig und verschweigst das in deiner
ersten Frage?
>Diese kann ich ohne Makro garnicht innerhalb von Excel drucken
Eben. Gar nicht! Word mag �ber eine Fernsteuerung noch gehen, bei PDF
sehe ich schwarz. Eventuell geht das mit dem Windows Script Host.
Allerdings hast du auch gar nichts �ber deine Excel-Version und gar
nichts �ber dein Betriebssystem mitgeteilt!
Martin
--
So auch ihr: wenn ihr in Zungen redet und nicht mit deutlichen Worten, wie kann
man wissen, was gemeint ist? Ihr werdet in den Wind reden. ...Wenn ich nun die
Bedeutung der Sprache nicht kenne, werde ich den nicht verstehen, der redet,
und der redet, wird mich nicht verstehen. [1. Kor 14, 9 - 11]
Am Wed, 15 Jul 2009 09:05:36 -0700 (PDT) schrieb Dennis Miller:
> ich habe in meiner Exceldatei den Pfad und den Dateinamen von mehreren
> Dateien, die auf meinem Verzeichnis sind, hinterlegt.
>
> Nun ben�tige ich eine M�glichkeit, dass diese Dateien durch eine VBA
> Programmierung automatisch ausgedruckt werden, wenn eine bestimmtes
das Drucken einer Datei kannst du so erledigen:
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal Fensterzugriffsnummer As Long, _
ByVal lpOperation_wie_Open_oder_Print As String, _
ByVal lpDateiname_incl_Pfad As String, _
ByVal lpZus�tzliche_Startparameter As String, _
ByVal lpArbeitsverzeichnis As String, _
ByVal nGew�nschte_Fenstergr��e_der_Anwendung As Long) _
As Long
Private Const SW_HIDE = 0
Private Const SW_MAX = 10
Private Const SW_MAXIMIZE = 3
Private Const SW_MINIMIZE = 6
Private Const SW_NORMAL = 1
Private Const SW_SHOW = 5
Private Const SW_SHOWDEFAULT = 10
Private Const SW_SHOWMAXIMIZED = 3
Private Const SW_SHOWMINIMIZED = 2
Private Const SW_SHOWMINNOACTIVE = 7
Private Const SW_SHOWNORMAL = 1
Private Const SW_SHOWNOACTIVATE = 4
Sub Drucken()
ShellExecute 0&, "Print", "c:\Eigene Dateien\Asdf.pdf", _
vbNullString, vbNullString, SW_SHOWMINNOACTIVE
End Sub
'Sub �ffnen()
'ShellExecute 0&, "Open", "c:\Eigene Dateien\Asdf.pdf", _
' vbNullString, vbNullString, SW_SHOWNORMAL
'End Sub
ShellExecute �ffnet oder druckt mit dem Programm, das in der Registy zu
dieser Dateinamenserweiterung eingetragenen wurde.
> Ereignis erf�llt ist (z.B. zahl=1).
> Sobald zahl=1 sollten diese Dateien gedruckt werden.
Zu wenig Infos!
Wo sind Pfade hinterlegt, wo steht diese ausl�sende Zahl? Wird diese Zahl
per Eingabe oder Formel ge�ndert?
Viele Gr��e
Michael
--
http://michael-schwimmer.de
Masterclass Excel VBA ISBN-10: 3827325250
Das Excel-VBA Codebook ISBN-10: 3827324718
Microsoft Office Excel 2007-Programmierung ISBN-10: 3866454139
werds gleich mal ausprobieren.