Word-Steuerung aus C#-App - Frage zu Dokument-Schließen und Word-Beenden

02/12/2008 - 11:52 von M.Erlinger | Report spam
Hallo

ich bin gerade dabei eine Applikation zu erweitern, und Word
einzubinden.

myWordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
myDocument = myWordApp.Documents.Add( ref DateiName, ref
neueVorlage, ..);

làuft alles soweit gut, und ich kann Word jetzt soweit aus meinem C#-
Programm steuern.

meine Frage - wie schaffe ich es, dass die C#-Applikation mitbekommt,
wenn der User in der Word-Applikation Exit drückt/ oder das Dokument
schließt.

derzeit bekomme ich es gar nicht mit, und wenn dann Word beendet
wurde, kommt es natürlich zu Fehlermeldungen, wenn ich das Objekt
"myWordApp" weiter ansprechen und verwenden will.

Wie kann ich hier vorgehen, bzw. mein Programm darauf vorbereiten,
dass der User das Word beendet hat, oder das Dokument schließt.?

Danke schon mal für eine Hilfe dazu
Gruß
Michael
 

Lesen sie die antworten

#1 Frank Dzaebel
02/12/2008 - 13:47 | Warnen spam
Hallo Michael,

meine Frage - wie schaffe ich es, dass die C#-
Applikation mitbekommt, wenn der User in der
Word-Applikation Exit drückt/ oder das Dokument
schließt.



Der Kniff ist hier das Cast'en auf ApplicationEvents2_Event:

private void Form1_Load(object sender, EventArgs e)
{
Word.Application app = new Word.Application();
app.Visible = true;
ApplicationEvents2_Event wdEvents = (ApplicationEvents2_Event)app;
wdEvents.Quit += new ApplicationEvents2_QuitEventHandler
(wdEvents_Quit);
// ...
}

void wdEvents_Quit()
{
MessageBox.Show("Word wurde beendet!");
}

Ansonsten gibt es natürlich auch ggf. noch:
DocumentBeforeClose, etc.:

[Understanding Office Primary Interop Assembly Events]
http://msdn.microsoft.com/de-de/lib...47300.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen