J'ai un logiciel hérité tiers qui utilise Automation pour contrôler MS Excel (à l'aide de MFC/C++). Le code est simple:Chaîne de classe non valide à l'aide d'Excel 2010
_ApplicationPtr xl;
HRESULT hr = xl.CreateInstance("Excel.Application");
Cela a fonctionné parfaitement depuis Excel 2000, 2002 (XP), 2003 et 2007; Toutefois, après l'installation d'Office 2010, l'appel CreateInstance échoue avec "Invalid Class String" (CO_E_CLASSSTRING). Y at-il quelque chose de spécial que je dois faire pour que cela fonctionne?
Merci d'avance!
Merci pour la réponse rapide, James. Je devrais mentionner que j'ai essayé le logiciel tiers sur une machine Win7 propre avec seulement Office 2010 Home & Business et le logiciel lui-même installé. – JoJoeDad
D'accord, je l'ai compris. J'ai installé Office 2010 en utilisant la nouvelle méthode Click-to-run (parce que j'ai téléchargé l'essai à partir du site Web de MS en utilisant l'option par défaut). Dès que je le télécharge et l'installe en utilisant le MSI, tous les PROGID/CLSID sont maintenant dans le registre (Excel.Application et Excel.Application.14) et mon Automation fonctionne bien ... – JoJoeDad
hey JoJoeDad (salutations, compatriote canadien) - -il semble que Office Starter (en raison de la fonctionnalité "cliquer pour exécuter") ne prend pas en charge l'automatisation OLE. pouvez-vous confirmer que vous avez acheté/installé une copie de bureau pour résoudre ce problème? Merci! –