Office - Word, Excel und Co. 9.744 Themen, 41.408 Beiträge

Excel/VBA Druckmenü

incognito_23 / 14 Antworten / Flachansicht Nickles

Hallo,

ich (und das Internet) arbeite/n zur Zeit an einem Druckmenü. Im Grunde funktioniert es auch. Ich habe jedoch noch ein Problem mit der Anzahl der Ausdrucke. Und zwar soll über den Wert einer Zelle, die Anzahl der Ausdrucke definiert werden. 

Das Modul sieht wie folgt aus:

Option Explicit

Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nshowcmd As Long) As Long

Public hWnd As Long
Public Const SW_HIDE = 0 ' Versteckt öffnen
Public Const SW_MAXIMIZE = 3 ' Maximiert öffnen
Public Const SW_MINIMIZE = 6 ' Minimiert öffnen
Public Const SW_NORMAL = 1
Public Const SW_RESTORE = 9
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_SHOWMINIMIZED = 2
Public Const SW_SHOWMINNOACTIVE = 7
Public Const SW_SHOWNOACTIVATE = 4

Public Function DateiOeffnen(Aktion As String, Pfad As String, _
Ansicht As Long) As Boolean
Call ShellExecute(hWnd, Aktion, Pfad, "", "", Ansicht)
End Function

Und die jeweiligen Buttons sind wie folgt aufgebaut: 

Private Sub Button1_Click()
Dim Pfad As String
Pfad = "Z:\xxx\test.pdf"
DateiOeffnen "print", Pfad, SW_MAXIMIZE
End Sub

Nun dachte ich mir, dass man einfach einen Loop einbauen kann:

Private Sub Mathetest_Click()
Dim Pfad As String
Dim i As Long
For i = Worksheets("2").Cells(1, 1).Value To Worksheets("2").Cells(1, 1).Value
Pfad = "Z:\bae\Druckmenü\Dokumente\Testseite.pdf"
DateiOeffnen "print", Pfad, SW_HIDE
Next i
End Sub

Steht nun eine 2 in der Zelle, öffnet sich Acrobat Reader auch zweimal aber druckt nur einmal die PDF.

Hat vielleicht jemand ein passenden Ratschlag für mein Problem?

bei Antwort benachrichtigen
hddiesel gelöscht_323936 „Als Hinweis - siehe die Nachricht von @mumpel1: in der Schleife muss te der AcrobatReader jedesmal geschlossen werden, ...“
Optionen

Hallo Anne,

mit der vorhandenen For ... Next Schleife, gibt es nur einen Durchlauf, egal ob in der Zelle 1 oder 100 steht.

Verwende selbst nicht das Programm AcrobatReader, sondern Nitro.
Ohne eine Beispieldatei den Code testen,  da gibt es genug andere Fehlerquellen, das ist das Schließen des AcrobatReader, das kleinste Problem.

Windows 10 Pro 64-Bit, 22H2: MS Office Pro Plus 2016 32-Bit: Mein Motto: Leben und leben lassen: Gruss Karl
bei Antwort benachrichtigen