web-dev-qa-db-fra.com

Erreur "Impossible d'insérer un objet" lors de l'ajout d'un contrôle ActiveX tel que Microsoft DataGrid à une feuille Excel

L'un des utilisateurs de notre contrôle de grille ActiveX iGrid doit l'insérer directement dans une feuille MS Excel, mais ils n'ont pas réussi à le faire - l'erreur "Impossible d'insérer un objet" est générée à tout moment. Nous pouvons également reproduire ce problème sur notre ordinateur de test sous Win7 64 bits et MS Office 2010 32 bits.

Ce contrôle COM est correctement enregistré dans le système d'exploitation et peut être ajouté à VBA UserForms et à d'autres applications, mais nous ne pouvons pas le faire pour les feuilles Excel. Il semble que ce soit un problème courant pour les ActiveX, même ceux hérités comme Microsoft DataGrid Control 6.0. Après avoir recherché une solution pendant un temps assez long, nous avons conclu qu'il s'agissait d'un paramètre de sécurité dans MS Office. La question peut donc être formulée comme suit: Comment activer l'utilisation de contrôles ActiveX spécifiques dans MS Office?

Vous trouverez ci-dessous les ressources connexes que nous avons trouvées et qui pourraient aider.

Tout d’abord, Microsoft déclare que

Tous les contrôles ActiveX ne peuvent pas être utilisés directement dans des feuilles de calcul. certains ne peuvent être utilisés que sur des fichiers UserForm Microsoft Visual Basic pour Applications (VBA). Lorsque vous travaillez avec ces contrôles, Excel affiche le message Impossible d'insérer un objet si vous essayez de les ajouter à une feuille de calcul.

Quelqu'un sait-il quelles fonctionnalités manquantes pourraient empêcher l'insertion d'un contrôle ActiveX dans des feuilles Excel?

Deuxièmement, il existe un problème connu avec EXD files utilisé pour mettre en cache les contrôles ActiveX. Mais nous avons vérifié - ce n'est pas notre cas.

Troisièmement, deux articles techniques de Microsoft expliquent comment "résoudre" certains problèmes de sécurité ActiveX pour les ActiveX utilisant le registre:

Problème: message d'erreur "Impossible d'insérer un objet" dans Excel
http://support.Microsoft.com/default.aspx?scid=kb;EN-US;171280

Impossible d'insérer certains contrôles ActiveX scriptables dans les documents Office 2013
http://support.Microsoft.com/kb/2793374

Il semble que cela n’aide pas non plus - ou nous avons simplement fait quelque chose de mal.

Et la dernière chose que nous avons essayée - le Centre de gestion bureautique. Autoriser l'utilisation de tous les ActiveX sans aucune restriction et ajouter le dossier contenant notre ActiveX iGrid à la liste des emplacements approuvés n'a pas aidé de toute façon.

8
TecMan

De Technet Forum

Fermez Excel.

Lancez l'explorateur Windows.

Sélectionnez votre lecteur système (généralement C :)

Utilisez le champ de recherche pour rechercher * .exd

Supprimez tous les fichiers trouvés.

Relancez Excel.

13
Stefan Michev

Nous avons eu un problème similaire dans le passé avec un contrôle ActiveX que nous avons inséré sur une feuille Excel de notre complément COM, et vous semblez avoir abordé deux des éléments (ci-dessous) pour le résoudre. Ce qui suit résout le problème le plus * du temps.

À partir d'Excel 2010: ruban de fichier; Les options; Centre de confiance; Paramètres du Centre de gestion de la confidentialité (bouton) ...; 

  • Compléments: UNCHECK 'Exiger que les compléments d'application soient signés par un éditeur approuvé'.
  • Paramètres de macro: Assurez-vous qu'il ne désactive pas toutes les macros sans notification. Si OK est réglé sur 'Désactiver toutes les macros avec notification', c'est OK.
  • Paramètres ActiveX: assurez-vous que tous les contrôles ne sont pas désactivés sans notification. Il est OK s'il est réglé sur "Invite-moi avant d'activer tous les contrôles avec des restrictions minimales". C'ÉTAIT LA CAUSE PRINCIPALE.
  • Emplacements approuvés: Ajoutez le répertoire de votre contrôle.

Notez que certaines d'entre elles ne sont généralement pas nécessaires si InstallShield a correctement enregistré le programme contenant (par exemple, une dll). Notez également que nous autorisons toujours la sollicitation (probablement une bonne idée de feindre votre responsabilité). Cela ne nous a pas posé de problème.

  • Cependant, la raison pour laquelle je suis ici est que nous avons un cas (sur 200 clients) où ce qui précède n'a pas fonctionné et cela a commencé à se produire il y a une semaine (cela fonctionnait depuis 9 mois). Je suppose qu'Excel est corrompu à ce stade car il n'y a pas eu de changement. Nous avons par ailleurs tout essayé. Avez-vous résolu le vôtre?
2
F Watkin

Cela a résolu le problème pour moi:

Accédez au registre suivant:

Compatibilité HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Common\COM {8856F961-340A-11D0-A96B-00C04FD705A2}

Définissez ensuite les données de valeur de 400 à 0.

J'espère que ça aide.

Désolé j'ai oublié de donner crédit à celui qui l'a trouvé. Ici . http://social.technet.Microsoft.com/Forums/office/en-US/7942c472-2b5a-4005-888f-43ece2a5800a/adding-web-browser-control-to-Exo--2013 ? forum = officeitpro & prof = required

1
evo

J'ai eu ce problème l'autre jour et je suis revenu à l'essentiel avec ma solution car je n'aime pas l'idée de modifier le registre.

J'ai résolu le problème en réenregistrant simplement les principaux types de contrôles que j'utilise, à savoir les boutons de commande, les listes déroulantes, les listes de sélection, les filtres, etc.

Pour ce faire, allez dans l'onglet Développeur et cliquez sur Insérer (un contrôle)

En choisissant "Autres contrôles", dans le coin inférieur droit des contrôles Activex, vous pouvez ré-enregistrer tout contrôle dont vous pourriez avoir besoin.

0
Gordon Inglis