web-dev-qa-db-fra.com

Comment réparer «Microsoft Excel ne peut pas ouvrir ou enregistrer d'autres documents»

J'exécute l'application Web C # ASP.NET 4.5 sur Windows 7 64 bits en utilisant IIS 7.5. Le pool d'applications qu'il utilise porte le nom 'ASP.NET v4.0' et son identité est ApplicationPoolIdentity L'application utilise MS Office Interop (bibliothèque d'objets Microsoft Excel 14.0).

À la ligne wBook = wBooks.Add(Missing.Value);, il renvoie l'erreur suivante:

Microsoft Excel ne peut pas ouvrir ou enregistrer d'autres documents car il n'y a pas suffisamment de mémoire ou d'espace disque disponible.

u2022 Pour libérer de la mémoire, fermez les classeurs ou les programmes dont vous n'avez plus besoin.

u2022 Pour libérer de l'espace disque, supprimez les fichiers dont vous n'avez plus besoin du disque sur lequel vous enregistrez: sur Microsoft.Office.Interop.Excel.Workbooks.Add (modèle d'objet)

1) J'ai donné au compte IIS apppool\ASP.NET v4.0 le contrôle total sur l'application MS Excel dans DCOM Config.

2) J'ai donné IIS apppool\ASP.NET v4.0 un contrôle total sur 'C:\Windows\SysWOW64\config\systemprofile' et y ai créé un dossier Desktop.

3) Je dois continuer à utiliser Interop mais ce n'est pas recommandé.

4) L'application fonctionne correctement sur Windows Server 2003/Windows XP 32 bits.

5) MS Office 2010 (64 bits, version d'essai) est installé sur la machine.

6) Je préfère ne pas modifier l'application. regrouper l'identité d'ApplicationPoolIdentity au service réseau, etc. ApplicationPoolIdentity est le nouveau type d'identité dans IIS 7 et il est recommandé.

Cela fonctionne bien si je sélectionne "Utilisateur interactif" (je me suis connecté en tant qu'administrateur) dans DCOM Config, mais cela provoque d'autres problèmes. J'ai besoin d'utiliser 'Launching User' qui est ASP.NET v4.0. Il semble donc que ce soit un problème de permission.

Veuillez aider. Merci.

20
engg

Faites un clic droit sur le fichier avec l'Explorateur de fichiers, choisissez Properties, puis General onglet et cliquez sur le bouton Unblock. Ce message d'erreur est très trompeur.

36
Tony_Henrich

Accédez à cette clé dans l'Éditeur du Registre (Exécuter | Regedit) HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

changer la clé Cache en quelque chose comme C:\Windows\Temp

Mon problème similaire a été résolu comme ceci.

Cordialement,

Ripley

14
Ripley

J'ai eu ce même problème, il n'y avait aucun problème de mémoire sur ma machine serveur, enfin j'ai pu le résoudre en suivant les étapes

  1. Dans votre serveur d'hébergement d'applications, accédez à ses "Services de composants"
  2. enter image description here

3.Trouvez "Application Microsoft Excel" sur le côté droit.

4.Ouvrez ses propriétés par un clic droit

5.Sous l'onglet Identité, sélectionnez l'option utilisateur interactif et cliquez sur le bouton Ok.

Vérifiez encore une fois. J'espère que ça aide

NOTE : Mais maintenant, vous pouvez vous retrouver avec une autre erreur COM "Récupération de l'usine de classe COM pour le composant ...". Dans ce cas, définissez simplement l'identité de cet utilisateur et entrez le nom d'utilisateur et le mot de passe d'un utilisateur disposant de droits suffisants. Dans mon cas, je suis entré dans un groupe d'utilisateurs avec pouvoir.

5
Nithin Paul

Test comme ça. Parfois, problème de permission.

cmd => dcomcnfg

Cliquez sur

Services de composants> Calculs> Poste de travail> Configuration Dcom> et sélectionnez l'application micro soft Excel

Clic droit sur l'application Microsoft Excel

Propriétés> Accorder des autorisations à Asp.net

Sélectionnez Table d'identité> Sélectionnez un utilisateur interactif> sélectionnez ok

5

Si aucun des éléments ci-dessus n'a fonctionné, essayez-les également:

  • Dans Component services >Computes >My Computer>Dcom config>Microsoft Excel Application>Properties, accédez à l'onglet sécurité, cliquez sur personnaliser dans les trois sections et ajoutez l'utilisateur qui souhaite exécuter l'application, et donnez des autorisations complètes à l'utilisateur.

  • Aller à C:\Windows\Temp assurez-vous qu'il existe et qu'il ne vous invite pas à entrer.

0
LoMaPh

J'ai moi aussi rencontré le même scénario et trouvé deux solutions après plusieurs recherches sur Google. J'espère que cela t'aides.

Voie 01:

Avant d'essayer d'ouvrir le fichier dans Excel, recherchez-le dans l'Explorateur de fichiers de Windows. Cliquez avec le bouton droit sur le fichier et sélectionnez Propriétés. Au bas de l'onglet Général, cliquez sur le bouton Débloquer. Une fois que vous avez débloqué un fichier, Windows doit s'en souvenir et Excel ne doit plus vous le demander. Cette option est disponible pour certains types de fichiers, mais pas pour d'autres. Si vous n'avez pas de bouton Débloquer, utilisez la méthode 2.

Voie 02:

Cette option est meilleure si vous stockez généralement vos fichiers Excel téléchargés dans un dossier. Dans Excel, cliquez sur Fichier "Options" Centre de gestion de la confidentialité "Paramètres du centre de gestion de la confidentialité" Emplacements approuvés. Cliquez sur Ajouter un nouvel emplacement. Accédez au dossier dans lequel vous stockez vos fichiers Excel, sélectionnez les sous-dossiers de cet emplacement sont également approuvés, puis cliquez sur OK.

0
Dulith De Costa