Wenn ich mit der PrintOut-Methode ein Worksheet-Objekt auf einem Drucker drucke, wird der Dialog "Drucken" (Dateiname, Zieldrucker, ausgedruckte Seiten und Abbrechen-Schaltfläche) angezeigt obwohl ich DisplayAlerts = False gesetzt habe. Der folgende Code funktioniert in einem Excel-Makro, aber dasselbe passiert, wenn ich diesen Code in einer VB- oder VB.Net-Anwendung verwende (mit den Referenzänderungen, die für die Verwendung des Excel-Objekts erforderlich sind).Wie verhindern Sie den Druckdialog bei Verwendung der Excel-Methode PrintOut
Public Sub TestPrint()
Dim vSheet As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set vSheet = ActiveSheet
vSheet.PrintOut Preview:=False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
EDIT: Die Antwort wirft unten, um mehr Licht auf diesem (dass es ein Windows-Dialog sein kann und nicht ein Excel-Dialog), aber nicht meine Frage zu beantworten. Weiß jemand, wie man verhindert, dass es angezeigt wird?
EDIT: Vielen Dank für Ihre zusätzliche Forschung, Kevin. Es sieht sehr danach aus, dass ich das brauche. Ich bin mir nicht sicher, ob ich API-Code blind akzeptieren möchte. Hat jemand anderes irgendwelche Kenntnisse über diese API-Aufrufe und dass sie tun, was der Autor vorgibt?
Ja, Ihre Annahmen sind korrekt - Entschuldigung habe ich nicht angegeben. Kann jemand wissen, ob dieses Excel- oder Windows-Verhalten zu dieser Antwort? –
Dies ist Windows-Verhalten. –