Interop.Word Documents.Open est null
Je suis en train d'essayer d'ouvrir .docx fichier et le convertir en format PDF à l'aide de l'Interopérabilité.Mot.Application. Il fonctionne en tant qu'application console, mais Si j'utilise le même dans mon application web, il ne fonctionne pas. J'ai essayé de voir les autorisations sur le dossier. J'ai donné 'Service Réseau' avec un contrôle total, mais encore obtenir la référence d'objet n'est pas défini de mot.Documents.Ouvert. Pourriez-vous s'il vous plaît laissez-moi savoir ce que pourrait être le problème? Je suis coincé avec cette erreur. S'il vous plaît laissez-moi savoir. J'apprécie toutes les suggestions. Merci.
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
object oMissing = System.Reflection.Missing.Value;
word.Visible = false;
word.ScreenUpdating = false;
string fileName = @"c:\OUTPUT\test.docx");
Document doc = word.Documents.Open(filename, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing);
doc.Activate();
source d'informationauteur nav100
Vous devez vous connecter pour publier un commentaire.
Si vous êtes toujours à la recherche de la réponse que j'ai trouvé juste un instant, pour mon projet.
Ouvrir DCOM Config Paramètres:
dcomcnfg.exe
Microsoft Word 97-2003 Documents
-> PropriétésOnglet
Identity
changement deLaunching User
àInteractive User
Essayez cela, il peut vous aider.
ça marche pour moi, après une longue longue longue journée à la recherche de la solution.
Il semble être un problème de profil.
Cela a fonctionné pour moi.
https://social.msdn.microsoft.com/Forums/en-US/0f5448a7-72ed-4f16-8b87-922b71892e07/word-2007-documentsopen-returns-null-in-aspnet.
Si ce helpe, veuillez vous rendre réponse
Que Paulie a déclaré dans son commentaire sur l'OP, je pense que le problème est en grande partie parce que les bibliothèques sur le serveur web. Vous pourriez être en mesure de pirater de le faire fonctionner sur une application web, mais je vous le déconseille.
MODIFIER: Argh, j'ai mal lu le post et simplement supposé Excel. C'est ce que la plupart des gens recherchent lors de l'utilisation de Bureau.Interop dans mon expérience 😉
Il y a une bibliothèque qui fonctionne avec les formats DocX (entrez description du lien ici). Malheureusement avoue-t-il sur la page de conversions de formats, tels que PDF est à peu près impossible sans le Bureau.L'interopérabilité des bibliothèques (http://cathalscorner.blogspot.com/2009/10/converting-docx-into-doc-pdf-html.html)
Ici est un "prometteur" une alternative, mais YMMV.
Il est fort probable que vous avez un mot différent de dll sur votre serveur web, peut-être une version plus ancienne. Je suggère que vous faites référence à une dll spécifique et de le copier sur le serveur web, de sorte que vous pouvez être sûr que vous utilisez le même mot dll que vous avez testé votre code et vous savez qu'il fonctionne.
Il pourrait y avoir quelques problèmes lors de l'utilisation de l'interopérabilité, cependant, la parole de l'interopérabilité est la seule qui vous pouvez être sûr qu'ils vont convertir les fichiers word plus correctement.
Pour résoudre cela, j'ai eu à faire deux choses:
Créer les répertoires:
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft \Windows\INetCache
C:\Windows\System32\config\systemprofile\Desktop
Activer DCOM réglage @gianni-b dit.
Si vous avez du mal à trouver l'entrée DCOM en raison d'une autre langue, vous pouvez le faire:
regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{00020906-0000-0000-C000-000000000046}
Clic droit > Nouveau > String valeur
RunAs
Interactive User
Vous pouvez faire de même pour Excel sur AppID
{00020812-0000-0000-C000-000000000046}
.