Word Application Quit geth nicht.

05/01/2009 - 16:25 von Robert Oberholzer | Report spam
Hallo NG.
Wenn ich ein Maildocument mit Word öffne, so kann ich den Process nicht mehr
beenden. Versuche ich es mit "Word.WdNewDocumentType.wdNewBlankDocument"
siehe Code, so funktioniert es ohne Probleme.
Trotz vielen Versuchen kriege ich es leider nicht hin.

Habe hierzu ein kleines Testprogramm unten geschrieben.
Vielen Dank für Eure Hilfe.
Robert Oberholzer

private void ButtonCreateMail_Click(object sender, EventArgs e)
{
int iErrorCount = 0;
oWord = new Word.Application();
oWord.Visible = true;
oDocs = oWord.Documents;

object template = Missing.Value;
object newTemplate = Missing.Value;
object documentType = Word.WdNewDocumentType.wdNewEmailMessage;
//object documentType = Word.WdNewDocumentType.wdNewBlankDocument;
object visible = true;
object optional = Missing.Value;

oDoc = oWord.Documents.Add(ref template, ref newTemplate, ref
documentType, ref visible);
oDoc.Activate();

oDoc.Words.First.InsertBefore("Test");

MessageBox.Show("Weiter");

object saveChanges = false;
object originalFormat = Missing.Value;
object routeDocument = Missing.Value;
oWord.Quit(ref saveChanges, ref originalFormat, ref routeDocument);

Marshal.ReleaseComObject(oDoc);
Marshal.ReleaseComObject(oDocs);
Marshal.ReleaseComObject(oWord);

}
 

Lesen sie die antworten

#1 Frank Dzaebel
05/01/2009 - 21:34 | Warnen spam
Hallo Robert,

Wenn ich ein Maildocument mit Word öffne, so kann
ich den Process nicht mehr beenden.



ja, Du hast dort zumindest:
GC.Collect();
GC.WaitForPendingFinalizers();
am Ende vergessen. Machs etwa wie hier:

[How to automate Outlook and Word by using Visual C# .NET to create a
pre-populated e-mail message that can be edited]
http://support.microsoft.com/kb/819398/en-us

Aber Du wirst bzgl. "wdNewEmailMessage" evtl.
Probleme bei Office 2007 bekommen - es gibt
Meldungen, dass das dort über Automation
nicht funktioniert (sprich <null> zurückliefert).


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

Ähnliche fragen