2009-03-18 5 views
1

j'ai une application qui utilise l'API MS-Word. Je suis coincé en essayant d'utiliser la fonction Document.Open (Filename) qui est la fonction qui ouvre un document. Peu importe si je cours en mode debug ou release. Toute aide serait appréciée. Merci, Guy MaromVisual Studio - application avec l'API de débogage mot est impossible

+0

Quelques informations supplémentaires seraient utiles. Pouvez-vous poster une copie de votre code, et un message d'erreur? –

+0

Que voulez-vous dire par «je suis coincé»? Que se passe-t-il exactement (ou n'arrive-t-il pas que vous attendez)? –

+0

Si je mets un point d'arrêt sur cette ligne: Dim objDoc Comme Word.Document = mobjWordApp.Documents.Open (cObj (FileName)) Quand je frappe F10, et rien ne se passe pas une exception est levée. mobjWordApp est instancié comme suit: mobjWordApp = new Interop.Word.Application. La première ligne est exécutée dans un thread différent. –

Répondre

0

Il y a beaucoup plus de paramètres dont vous avez besoin pour la méthode Open!

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(); 

L'API Word (et Office) de .Net exige que tous les paramters par opposition à VBA, d'où la longue lignée de de disparus

C'est une douleur, mais vous pouvez faire quelques classes d'emballage pour cacher cela votre principale logique d'application si la solution est de devenir grand et complexe

+0

1) Le code fonctionne bien si je l'exécute en tant que service Windows sur ma machine. 2) Je ne veux pas que mon document soit visible donc je l'ai défini: WordApp.Visible = False isVisibile = False –

+0

Vous ne devez pas exécuter Word dans le cadre d'un service Windows (voir MSDN). Qu'essayez-vous de faire? Le bit visible est bien sûr :-) option – user73993

+0

J'ai plusieurs applications à l'aide de l'automatisation des mots: 1) Le service - Envoie des fichiers DOC/DOCX à l'imprimante. 2) Un complément Word qui utilise l'automatisation pour explorer une source de données de fusion et publipostage. Je viens de remarquer que ces problèmes sont liés au fait que j'utilise mot dans un autre thread que le thread principal. –

Questions connexes