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
mawe2 mumpel1 „Dann kann er die Datei auch manuell drucken.“
Optionen

Das habe ich von Anfang an auch gedacht.

Aber er will es halt aus Excel/VBA heraus drucken...

bei Antwort benachrichtigen