Nachtrag:
Die Sub „DeckelPlatzieren()“ steht im Modul „ThisDocument“ und wird vom Ereignis „SelectionChange()“ aufgerufen.
Ich würde das Ereignis in diesem Projekt nicht verwenden. Die Ereignisse des Dialogs reichen aus, um die Prozeduren des Projekts auszuführen.
Im aktuellen Entwicklungsstadium des Projekts, ist das einzige sinnvoll einzusetzende Dokument-Ereignis das Ereignis „Open()“ um den Dialog zu starten.
Das Ereignis „SelectionChange()“ wird bei jeder Änderung der Auswahl im Dokument abgefeuert. Weil Auswahländerungen oft auftreten, tritt dieses Ereignis oft auf. Auswahländerungen werden aber nicht nur durch den Benutzer ausgelöst, auch Makro-Prozeduren können diese auslösen. Das Ereignis ist also schwer vorherzusagen. Es birgt die Gefahr von Endlosschleifen die CorelDraw einfrieren oder komplett abstürzen lassen können. Auch eine Fehlersuche wird nicht gerade vereinfacht.
Wenn ich das Ganze hier noch einmal so lang und breit in Schulmeister-Manier wiederhole, dann nicht, um Dir auf die Nerven zu gehen (oder höchstens ein kleines Bisschen). Ich halte es aber für nützlich, noch einmal darüber nachzudenken.
Die Sub „DeckelPlatzieren()“ kannst Du ja z.B. in das Plattenmodul verschieben und von der Prozedur „machPlatten()“ ausführen lassen.
Gruß
Koter
Die Sub „DeckelPlatzieren()“ steht im Modul „ThisDocument“ und wird vom Ereignis „SelectionChange()“ aufgerufen.
Ich würde das Ereignis in diesem Projekt nicht verwenden. Die Ereignisse des Dialogs reichen aus, um die Prozeduren des Projekts auszuführen.
Im aktuellen Entwicklungsstadium des Projekts, ist das einzige sinnvoll einzusetzende Dokument-Ereignis das Ereignis „Open()“ um den Dialog zu starten.
Das Ereignis „SelectionChange()“ wird bei jeder Änderung der Auswahl im Dokument abgefeuert. Weil Auswahländerungen oft auftreten, tritt dieses Ereignis oft auf. Auswahländerungen werden aber nicht nur durch den Benutzer ausgelöst, auch Makro-Prozeduren können diese auslösen. Das Ereignis ist also schwer vorherzusagen. Es birgt die Gefahr von Endlosschleifen die CorelDraw einfrieren oder komplett abstürzen lassen können. Auch eine Fehlersuche wird nicht gerade vereinfacht.
![[Bild: 179px-L%C3%A4mpel_bw_transparent.png]](https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/L%C3%A4mpel_bw_transparent.png/179px-L%C3%A4mpel_bw_transparent.png)
Die Sub „DeckelPlatzieren()“ kannst Du ja z.B. in das Plattenmodul verschieben und von der Prozedur „machPlatten()“ ausführen lassen.
Code:
Sub machPlatten()
If Not Dialog1.Visible Then Exit Sub ' nicht ausführen wenn der Dialog nicht sichtbar ist
Call machDeckelPlatte 'Die Scheibe ändern
Call DeckelPlatzieren
End Sub
Gruß
Koter