Numéro d'article: 268016 - Dernière mise à jour: lundi 22 mai 2006 - Version: 4.2 PROBLÈME : Internet Explorer ne peut pas ouvrir un fichier de macro complémentaire Excel (*.xla)
SommaireSymptômes Lorsque vous naviguez vers un fichier de macro complémentaire Microsoft Excel (*.xla) à partir d'une page Web à l'aide d'Internet Explorer, la macro complémentaire n'est pas chargée et Internet Explorer affiche un avertissement indiquant que la page que vous recherchez n'est pas disponible actuellement. Ce problème se produit lorsque vous ouvrez la macro complémentaire à l'aide du protocole HTTP plutôt que FILE. Cause L'avertissement se produit car la macro complémentaire Excel (*.xla) est en réalité un classeur Excel (*.xls) qui ne contient pas de feuilles de calcul. La seule partie du fichier utilisée par Excel est le sous-stockage de projet Visual Basic pour Applications (VBA), qui contient le code de la macro (VBA). Toutefois, puisque le fichier .xla est en fait un fichier .xls déguisé, il a le même CLSID qu'un classeur Excel ("{00020820-0000-0000-C000-000000000046}") et est représenté par le même type MIME (Multipurpose Internet Mail Extensions) ("application/vnd.ms-excel"). Les versions 3.0 et ultérieure d'Internet Explorer prennent en charge l'activation sur place d'objets documents ActiveX (ADO) dans le navigateur Web. Étant donné qu'un fichier .xla possède le même CLSID qu'un classeur Excel, Internet Explorer tente de charger le fichier .xla en tant que classeur incorporé. Puisque le fichier .xla ne contient aucune feuille de travail pour la modification sur place, l'incorporation échoue et Internet Explorer affiche l'avertissement. L'instance de Microsoft Excel en cours qui a été démarrée pour le processus d'incorporation peut soit se fermer immédiatement, soit devenir visible. Toutefois, du fait de l'échec de l'activation sur place, l'instance apparaît sans menus ni barres d'outils. Internet Explorer utilise le paramètre de type MIME des documents renvoyés d'un serveur pour savoir comment activer la page pour l'affichage. Si un serveur HTTP renvoie un type de contenu MIME "application/vnd.ms-excel" pour une page demandée, Internet Explorer essaie de charger le contenu du fichier en tant que classeur Excel. Par défaut, les services Internet (IIS) associent l'extension *.xla avec ce type MIME, ce qui provoque le comportement décrit ci-dessus dans le cas d'un lien hypertexte vers un fichier .xla. Résolution Pour éviter d'ouvrir la macro complémentaire à l'aide du protocole HTTP, votre page Web peut utiliser un script côté client pour démarrer Microsoft Excel à l'aide d'Automation, puis charger le fichier .xla à partir d'une URL. Les étapes ci-dessous illustrent cette méthode.
Plus d'informations Les macros complémentaires Excel (*.xla) ne prennent pas en charge l'incorporation et ne peuvent pas être ouvertes à partir d'Internet Explorer. Les utilisateurs finals n'ouvrent normalement pas de fichiers .xla ; ils ouvrent plutôt un fichier .xls qui (le cas échéant) charge une ou plusieurs macros complémentaires lors du démarrage. Ce n'est que dans de rares cas qu'un utilisateur doit démarrer un fichier .xla directement. Dans ces situations, un code de script peut être utilisé si vous souhaitez démarrer le fichier à partir d'Internet Explorer. Toutefois, l'automatisation d'Excel à partir de script ne fonctionne pas si l'ordinateur client est défini sur Sécurité élevée ou si l'option "Contrôles d'initialisation et de script ActiveX non marqués comme sécurisés" est désactivée. Ces clients doivent abaisser leurs paramètres de sécurité vers "Demander" pour pouvoir exécuter le code de script et ouvrir le fichier .xla. Les fichiers .xla et Excel Automation ne sont pas sécurisés pour le script par défaut. Pour plus d'informations sur la façon de modifier par programmation ces options Internet Explorer à l'aide d'un contrôle approuvé ou d'un utilitaire d'installation (mais pas d'un script), cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances. 182569
(http://support.microsoft.com/kb/182569/
)
Description des entrées du Registre relatives aux zones de sécurité de Microsoft Internet Explorer
Autres considérations et solutions de contournementSi les scripts ne constituent pas une solution adaptée à la conception de vos pages Web, vous pouvez contourner le problème via les modifications du Registre et du fichier XLA lui-même. Cette procédure doit être accomplie en dehors d'Internet Explorer ou de pages ASP (Active Server Pages) et elle ne constitue pas une solution viable dans le cas d'applications Web où l'environnement client ne peut pas être contrôlé. Les propos ci-dessous décrivent de manière plus détaillée la cause du problème et les procédures à effectuer pour l'éviter.Étant donné qu'Internet Explorer utilise le type MIME spécifié par le serveur lors d'une opération HTTP GET, vous devez empêcher les services Internet (ou le serveur Web avec lequel vous communiquez) d'associer l'extension *.xla au type MIME "application/vnd.ms-excel". Les services Internet (IIS) enregistrent ces informations dans les paramètres de propriétés du dossier Web (c'est-à-dire dans la métabase). Pour modifier le comportement de votre site Web IIS, vous devez donc modifier la métabase. Pour cela, dans IIS versions 4.0 et 5.0, vous pouvez procéder comme suit :
Le code Microsoft Visual C++ suivant illustre comment remplacer le CLSID du stockage principal par un CLSID NULL : Si le CLSID du fichier a été supprimé et le serveur n'a pas spécifié un type MIME, Internet Explorer utilise l'extension du fichier pour démarrer Excel et charger le fichier .xla. Selon la configuration du Registre sur le système client, le fichier sera peut-être encore incorporable, donc il sera peut-être nécessaire de modifier le Registre client. Les clés de Registre correspondantes sont les suivantes : HKEY_CLASSES_ROOT\.xla HKEY_CLASSES_ROOT\Excel.Addin Si toutes les étapes ci-dessus sont effectuées, Internet Explorer ne trouvera pas d'identificateur CLSID pour ce type de fichier et chargera le fichier à l'aide d'une commande ShellExecute. Ceci exécute le fichier comme si l'utilisateur avait double-cliqué dessus à partir d'Internet Explorer. Références
Pour plus d'informations sur les types MIME et les documents Office, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft.
199841
(http://support.microsoft.com/kb/199841/
)
COMMENT FAIRE : Afficher les résultats ASP à l'aide d'Excel dans Internet Explorer avec des types MIME
266263
(http://support.microsoft.com/kb/266263/
)
BOGUE : Word 2000 et Excel 2000 affichent la source ASP lors de l'utilisation du type MIME pour la diffusion de données en continu
247389
(http://support.microsoft.com/kb/247389/
)
IIS : Comment faire pour désactiver la mise en cache de types MIME spécifiques
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT. | Autres ressources Autres sites d'aide
CommunautésObtenir de l'aideTraductions disponibles
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
Retour au début
