Thema Datum  Von Nutzer Rating
Antwort
31.01.2008 14:24:18 Tom
NotSolved
31.01.2008 15:56:30 Holger
NotSolved
31.01.2008 16:42:17 Tom
NotSolved
31.01.2008 19:43:38 Holger
NotSolved
01.02.2008 11:33:13 Tom
NotSolved
01.02.2008 12:00:17 Holger
NotSolved
Rot Aw:Aw:Aw:Aw:Aw:Aw:Fehlermeldung bei Druck unterdrü
01.02.2008 12:23:31 Tom
NotSolved
01.02.2008 14:35:44 Tom
NotSolved

Ansicht des Beitrags:
Von:
Tom
Datum:
01.02.2008 12:23:31
Views:
2032
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Aw:Aw:Aw:Aw:Fehlermeldung bei Druck unterdrü
Hallo Holger,

Ok das funktioniert :-) Leider erfüllt das Programm seinen eigentlichen Sinn immer noch nicht, obwohl die Events korrekt aufgerufen werden.
Ich suche noch auf anderen Foren, wenn ich die fertige Lösung habe werde ich sie hier posten.

Vielen Dank

Tom


Holger schrieb am 01.02.2008 12:00:17:

Hallo Tom,
wenn du Register_Event_Handler in AutoExec umbenennest, wird es beim Start von Word automatisch ausgeführt. Auf Dokumentenebene gäbe es noch AutoNew und AutoOpen. Für Einzelheiten s. VBA-Hilfe unter Auto-Makros.
Viel Erfolg
Holger


Tom schrieb am 01.02.2008 11:33:13:

Hallo Holger,

Nochmals vielen Dank für Deine Hilfe, aber irgendwie läufts noch nicht so recht.

Ich habe das mit dem Register_Event_Handler und dem app_Quit hinbekommen.

Allerdings funktioniert das nur, wenn ich MANUELL diesen Makro ausführe. Wie kann ich dieses Register_Event_Handler denn jetz noch automatisiert aufrufen? Sprich jedesmal, wenn irgendein Worddokument geöffnet wird, egal ob neu oder bestehend, soll Register_Event_Handler aufgerufen werden.

Es kann nicht mehr viel sein was fehlt :-)

Grüsse

Tom


Holger schrieb am 31.01.2008 19:43:38:

Hallo Tom,
man muss genau aufpassen, was ins Klassenmodul und was in ein normales Modul gehört.

Klassenmodul:

' initialisiere das Anwendungsobjekt(?)
Public WithEvents App As Word.Application
' globale Variablen, die vor/nach dem Druck geändert werden sollen
Dim savEnvAlert As WdAlertLevel
Dim savEnvBackground As Boolean

' vor dem Druck
Sub myPrintControl_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
' speichere Einstellungen
savEnvAlert = Application.DisplayAlerts
savEnvBackground = Options.PrintBackground

' setze gewünschte Einstellungen
Application.DisplayAlerts = wdAlertsNone
Options.PrintBackground = False

' Druck soll nicht gecancelled werden
Cancel = False
End Sub

' nach dem Druck
Sub myPrintControl_DocumentAfterPrint()
' Einstellungen wiederherstellen
Application.DisplayAlerts = savEnvAlert
Options.PrintBackground = savEnvBackground
End Sub

'normales Modul:

' Instanz meiner Klasse erzeugen
Dim myPrintControl As New PrintControl

' Zuweisen des Event Handlers an das Anwendungsobjekt meiner Klasse
Sub Register_Event_Handler()
Set myPrintControl.App = Word.Application
End Sub

Die Sub Register_Event_Handler() musst du einmal laufen lassen.

Vielleicht legst du dir noch eine weitere Ereignisroutine für Testzwecke ins Klassenmodul, die leichter zu prüfen ist, die beim Schließen eines Dokumentes angestoßen wird. Vergiss nicht, sie wieder zu löschen:

Private Sub app_Quit()
Stop
End Sub

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
31.01.2008 14:24:18 Tom
NotSolved
31.01.2008 15:56:30 Holger
NotSolved
31.01.2008 16:42:17 Tom
NotSolved
31.01.2008 19:43:38 Holger
NotSolved
01.02.2008 11:33:13 Tom
NotSolved
01.02.2008 12:00:17 Holger
NotSolved
Rot Aw:Aw:Aw:Aw:Aw:Aw:Fehlermeldung bei Druck unterdrü
01.02.2008 12:23:31 Tom
NotSolved
01.02.2008 14:35:44 Tom
NotSolved