2014-09-20 13 views
2

Je souhaite charger un document Word dans une instance différente en utilisant la méthode Process.Start().Comment charger un fichier MS Word dans une nouvelle instance?

Ceci est mon code.

ProcessStartInfo info = new ProcessStartInfo(); 
info.FileName = @"D:\MyWordFile.doc"; 
info.Arguments = "/n"; //I have tried like this but it doesn't work 
Process p = new Process(); 
p.StartInfo = info; 
p.Start(); 

ok, je suis en train de tenir le processus jusqu'à ce que le document ne soit pas sorti en utilisant la méthode p.WaitForExit(). Cela fonctionne bien quand il n'y a aucune application de mot est chargée. si le mot est déjà chargé dans le Gestionnaire des tâches, alors il lance une erreur No process is associated with this object. Je pense que c'est parce qu'il charge le document dans le processus existant. Donc, je pense que je peux résoudre ce problème en chargeant mon document Word dans une nouvelle instance de Word.

J'ai également lu le document support et trouvé quelques paramètres qui me permettent de charger un fichier Word dans une nouvelle instance. J'ai essayé /n dans la propriété ProcessStartInfo.Argument, mais cela ne fonctionne pas. Je pense que je fais une erreur en assignant des arguments dans le processus ou assigné un argument invalide. Je ne sais pas quel est le problème ici. Toute aide sera appréciée

Merci & Regard.

Répondre

2

Arguments Ce paramètre est uniquement utilisé lorsque FileName est un programme exécutable. Lorsque le paramètre FileName est un fichier de document, la ligne de commande de l'association de type de fichier est utilisée (à partir du Registre) et le paramètre Arguments est ignoré.

Vous devez construire toute la ligne de commande:

Process.Start("winword", @"/n ""D:\MyWordFile.doc"""); 
+0

Merci pour votre réponse, il travaille sans les guillemets lorsque le nom de fichier ne contenant par exemple de l'espace. 'mydoc.doc' mais, si le nom du fichier ressemble à' my doc.doc', il prend chaque mot comme nom de fichier. J'ai également essayé avec une double citation comme '" mon mot.doc "' mais, il charge le document dans la même instance même si j'essaie de l'appeler à partir de la commande 'Run' de Windows. J'utilise MS Word 2007. Vous me rapportez juste fermé. l'argument '/ n' ne fonctionnera pas avec une double citation. – Shell

Questions connexes