0 votes

erreur de création d'un objet Excel en VBA

J'utilise le code suivant pour créer un objet Excel à l'aide de VBA. J'utilise Office 2003. J'exécute le code suivant en ASP classique.

Set myexcel = CreateObject("Excel.Application")

Le message d'erreur est le suivant : any permission needed to create Excel object ?

Ordinateur - les paramètres de permission par défaut n'autorisent pas l'adresse LocalHost (à l'aide de LRPC) en utilisant le CLSID {00024500-0000-0000-C000-000000000046}

EDIT1 :

J'ai une question connexe à poser, j'apprécierais que quelqu'un y jette un coup d'œil,

http://stackoverflow.com/questions/1383366/generating-excel-file-error

Merci d'avance, Georges

2voto

Fionnuala Points 67259

Cet article peut être intéressante :

Microsoft n'a pas pour l'instant de Microsoft ne recommande pas et ne prend pas en charge, l'automatisation des applications Microsoft Office à partir d'un client non interactif, application ou composant client non interactif (y compris ASP, ASP.NET, DCOM et NT Services), car Office peut présenter un comportement instable et/ou blocage lorsqu'Office est exécuté dans cet environnement. dans cet environnement.

Vous pouvez consulter types de mime et http://stackoverflow.com/questions/440892/how-to-output-an-excel-xls-file-from-classic-asp

Très, très grossièrement :

<%
Response.ContentType = "application/vnd.ms-excel"
%>
<TABLE>
<TR>
<TD>
<!-- Cell : A1 -->
2
</TD>
</TR>
<TR>
<TD>
<!-- Cell : A2 -->
3
</TD>
</TR>
<TR>
<TD>
<!-- Cell : A3 -->
=SUM(A1:A2)
</TD>
</TR>
</TABLE>

0voto

Anonymous Type Points 1774

Si vous voulez que cela fonctionne, au lieu de mettre en œuvre une solution plus élégante.

\==================== Solution de contournement :

Il s'agit d'une vulnérabilité en matière de sécurité (mais vous avez dit que vous deviez vous contenter de le faire fonctionner)... cependant, avez-vous essayé d'ajouter les comptes IUSR et IWAM aux autorisations locales d'activation et de lancement de l'application COM+ en question ?

étapes :

  1. ouvrir Dcomcnfg.exe

  2. ouvrir Component Services > My computer > DCOM Config

  3. Recherche de {00024500-0000-0000-C000-000000000046}

  4. cliquez avec le bouton droit de la souris sur Propriétés > allez dans l'onglet Sécurité

  5. sous les autorisations de lancement/activation, cliquez sur personnaliser et modifier

  6. s'assurer que Admins, interactive, service et system sont déjà ajoutés (lancement local/acte seulement)

  7. il s'agit d'un ASP classique (sur IIS 5 ou 6 je suppose), essayez donc les comptes machine IUSR et IWAM dans un premier temps.

  8. Si l'ajout de ces comptes ne fonctionne pas (acte local et lancement), si vous avez des pools d'applications, essayez d'ajouter également le compte utilisé pour le pool d'applications (consultez l'onglet d'identité du pool d'applications).

  9. cliquez sur ok/ok/ok.

  10. redémarrer IIS/app pool.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X