2008-09-17 5 views
0

J'ai une application Web capable d'ouvrir un modèle Excel, de transférer des données dans une feuille de calcul et d'envoyer le fichier à un utilisateur. Lorsque le fichier est ouvert, une macro VBA actualise un tableau pivotant en fonction des données qui ont été insérées dans le modèle.Envoi d'Excel à un utilisateur via ASP.NET

L'utilisateur reçoit la boîte de dialogue Fichier Ouvrir/Enregistrer standard.

Dans Internet Explorer (version 6), si l'utilisateur choisit d'enregistrer le fichier, lorsque le fichier est ouvert le code VBA exécute comme prévu, si l'utilisateur choisit « Ouvrir » puis la VBA échoue avec:

Erreur d'exécution 1004: Impossible d'ouvrir le fichier source du tableau croisé dynamique.

Dans tous les autres navigateurs, les deux ouvrent et enregistrent le travail comme prévu.

Il n'est pas en mon pouvoir de passer à une nouvelle version de IE (bureaucratie d'entreprise); Y at-il quelque chose que je peux faire pour permettre aux utilisateurs d'ouvrir sans d'abord enregistrer?

Répondre

0

L'option pour ouvrir ou enregistrer est un élément de sélection du navigateur, autant que je sache, il n'est pas possible de contourner ce comportement.

1

Les nouvelles versions d'Excel n'aiment pas exécuter les macros automatiquement. Si vous voulez vraiment générer un fichier Excel et l'envoyer à vos utilisateurs, créez le fichier complet sur le serveur en utilisant l'interface COM vers Excel ou certaines bibliothèques qui peuvent lire/écrire des fichiers XLS, puis envoyez le fichier complété.

0

Si je devais deviner, je dirais que cela a à voir avec quelle zone est actuellement le fichier. C'est probablement toujours considéré dans la "zone internet" lorsque vous cliquez sur Ouvrir. VBA ne devrait pas fonctionner dans cette zone. Demandez à un utilisateur de marquer le site Web du serveur comme sûr (Panneau de configuration -> Options Internet -> Sécurité -> Sites de confiance -> Sites) et de voir si cela aide.

Questions connexes