none
AlertResponse funktioniert in Visio 2010 nicht mehr RRS feed

  • Frage

  • Unsere Firma hat ein Software-Produkt entwickelt, das u.a. über eine Schnittstelle zu Visio verfügt. Der Kunde kann in einem Dialogfenster verschiedene Einstellungen vornehmen. Wenn er dann auf einen Button klickt, wird Visio gestartet. In Visio wird eine Zeichnung angezeigt. Klickt der Kunde dann im Dialogfenster auf den OK-Button, wird Visio beendet und das Dialogfenster geschlossen.

    Starten und Ansteuern von Visio erfolgt über dessen COM-Schnittstelle. Beim Klicken auf den OK-Button wird die Methode Close() des aktuellen Dokuments aufgerufen. Normalerweise zeigt Visio dann ein Dialogfenster mit der Frage an, ob der Inhalt des aktuellen Dokuments gespeichert werden soll. Um zu verhindern, dass dieses Dialogfenster erscheint, wird vor dem Aufruf der Methode Close() die Property "AlertResponse" des Application-Objekts auf 7 (= IDNO) gesetzt.

    Das funktioniert in Office 2003 und Office 2007 wunderbar, in Office 2010 hingegen nicht. Das Dialogfenster wird dort immer angezeigt, unabhängig davon, welchen Wert man in der Property "AlertResponse" speichert. Ich habe alle Werte von 1 (IDOK) bis 7 ausprobiert. Das Problem lässt sich gut in einem kleinen VBScript nachstellen.

    Kann es daran liegen, dass das Dialogfenster in Office 2010 andere Buttons hat? In Office 2003 sind die Buttons mit "Ja", "Nein" und "Abbrechen" beschriftet, in Office 2010 dagegen mit "Speichern", "Nicht speichern" und "Abbrechen".

    Gibt es andere Werte für die Property "AlertResponse", mit denen man die Anzeige des Dialogfensters verhindern kann? Wenn ja, welche? Der Kunde möchte das Dialogfenster nicht sehen. Oder gibt es eine andere Möglichkeit, Visio zu beenden ohne dass vorher das Fenster mit der Abfrage erscheint?

    Donnerstag, 2. August 2012 15:02