2009-03-18 4 views
1

Ich habe eine Anwendung, die die MS-Word-API verwendet. Ich bleibe stecken, wenn ich versuche, die Funktion Document.Open (Dateiname) zu verwenden, die die Funktion ist, die ein Dokument öffnet. Es spielt keine Rolle, ob ich im Debug- oder Release-Modus laufe. Jede Hilfe wäre willkommen. Vielen Dank, Guy MaromVisual Studio - Debuggen App mit Word-API ist unmöglich

+0

Weitere Informationen wären hilfreich. Können Sie eine Kopie Ihres Codes und eine Fehlermeldung posten? –

+0

Was meinst du mit "Ich bleibe stecken"? Was genau passiert (oder passiert nicht, dass du das erwartest)? –

+0

Wenn ich einen Haltepunkt auf diese Zeile setzen: Dim objDoc als Word.Document = mobjWordApp.Documents.Open (CObj (Dateiname)) Wenn ich F10 drücke, passiert nichts und keine Ausnahme wird geworfen. mobjWordApp wird wie folgt instanziiert: mobjWordApp = neue Interop.Word.Application. Die erste Zeile wird in einem anderen Thread ausgeführt. –

Antwort

0

Es gibt eine Menge mehr Parameter, die Sie für die Open-Methode benötigen!

object fileName = "MyDocuemnt.docx"; 
object readOnly = false; 
object isVisible = true; 
object missing = System.Reflection.Missing.Value; 
WordApp.Visible = true; 
Word.Document aDoc = WordApp.Documents.Open(ref fileName, ref missing,ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible); 
aDoc.Activate(); 

Das Wort (und Office) API von .Net verlangt, dass alle Paramter als Gegensatz zu VBA, daher die lange Reihe von

des fehlenden Schmerz Es ist, aber Sie können einige Wrapper-Klassen machen dies zu verstecken Ihre Hauptanwendungslogik, wenn die Lösung groß und komplex werden soll

+0

1) Der Code läuft gut, wenn ich es als Windows-Dienst auf meinem Computer ausführen. 2) Ich möchte nicht, dass mein Dokument sichtbar ist, also setze ich: WordApp.Visible = Falsch isVisibile = Falsch –

+0

Sie sollten Word nicht als Teil eines Windows-Dienstes ausführen (siehe MSDN). Was versuchst du zu machen? Das sichtbare Bit ist natürlich optional :-) – user73993

+0

Ich habe mehrere Anwendungen mit Word-Automatisierung: 1) Der Dienst - Sendet DOC/DOCX-Dateien an den Drucker. 2) Ein Wort-Add-In, das Automatisierung verwendet, um eine Seriendruck-Datenquelle zu untersuchen. Ich habe gerade festgestellt, dass diese Probleme mit der Tatsache zusammenhängen, dass ich Word in einem anderen Thread als den Hauptthread verwenden. –