Wenn ich die PrintOut-Methode verwende, um ein Worksheet-Objekt auf einem Drucker zu drucken, wird das Dialogfeld "Drucken" (mit Dateiname, Zieldrucker, gedruckten Seiten und einer Schaltfläche "Abbrechen") angezeigt, obwohl ich DisplayAlerts = False eingestellt habe. Der nachstehende Code funktioniert in einem Excel-Makro, aber das Gleiche passiert, wenn ich diesen Code in einer VB- oder VB.Net-Anwendung verwende (mit den für die Verwendung des Excel-Objekts erforderlichen Referenzänderungen).
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 unten bringt mehr Licht ins Dunkel (dass es sich um ein Windows-Dialogfeld und nicht um ein Excel-Dialogfeld handelt), beantwortet aber nicht meine Frage. Weiß jemand, wie man verhindern kann, dass es angezeigt wird?
EDIT: Vielen Dank für Ihre zusätzliche Forschung, Kevin. Es sieht sehr danach aus, dass ich genau das brauche. Ich bin mir nur nicht sicher, ob ich den API-Code blind akzeptieren will. Hat jemand anderes haben alle Kenntnisse über diese API-Aufrufe und dass sie tun, was der Autor behauptet?