Je souhaite ouvrir un fichier Word enregistré sur mon serveur à l'aide de "Microsoft.Office.Interop.Word". Voici mon code:
object missing = System.Reflection.Missing.Value;
object readOnly = false;
object isVisible = true;
object fileName = "http://localhost:52099/modelloBusta/prova.dotx";
Microsoft.Office.Interop.Word.ApplicationClass applicationWord = new Microsoft.Office.Interop.Word.ApplicationClass();
Microsoft.Office.Interop.Word.Document modelloBusta = new Microsoft.Office.Interop.Word.Document();
try
{
modelloBusta = applicationWord.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,ref missing, ref missing, ref missing, ref missing);
modelloBusta.Activate();
}
catch (COMException eccezione){
Console.Write(eccezione);
modelloBusta.Application.Quit(ref missing, ref missing, ref missing);
}
Dans le gestionnaire de tâches Windows, le processus est présent, mais le "document Word" n'apparaît pas (l'application ne démarre pas). Quel est le problème? Merci d'avance.
Vous devez vous assurer que la fenêtre de l'application Word est réellement rendue visible lors de l'automatisation de Word comme ça:
var applicationWord = new Microsoft.Office.Interop.Word.Application();
applicationWord.Visible = true;
ajoutez d'abord la dll de office.interop en ajoutant directement aux ressources puis ajoutez ceci en utilisant la directive:
using Microsoft.Office.Interop.Word;
et utilisez le code suivant
Application ap = new Application();
Document document = ap.Documents.Open(@"C:\invoice.docx");;
http://support.Microsoft.com/kb/257757
Microsoft ne recommande pas actuellement et ne prend pas en charge l'automatisation des applications Microsoft Office à partir de toute application ou composant client sans assistance non interactif (y compris les services ASP, ASP.NET, DCOM et NT), car Office peut présenter un comportement instable et/ou blocage lorsque Office est exécuté dans cet environnement.
Document document = new Document();
document.LoadFromFile("test.doct");