Question

Une application en cours de développement présente les conditions requises pour utiliser MS Word afin de vérifier l'orthographe de certaines zones de texte de l'application.

J'ai actuellement Office 2007 (qui est l'objet Office 12 com).

Ma question est la suivante: si j'ajoute dans les objets Office 12 ce qui se passera sur les boîtes contenant Office 2003? Cela concerne tant les autres boites de développement que les utilisateurs finaux.

Ai-je raison de penser que le résultat final sera que les capacités de traitement des sorts ne seront pas disponibles pour ces utilisateurs? Et si j’utilisais un objet Office 11, cela signifierait-il que les utilisateurs seraient incapables d’effectuer la vérification orthographique s’ils disposaient d’Office 07?

Était-ce utile?

La solution

Nous avons renoncé à utiliser une dépendance à Word, car des versions différentes sont installées dans les deux versions ou aucune installation d’Office! Choisissez plutôt NetSpell .

Autres conseils

Je devine ici, mais si c'est comme vous ne pouvez pas utiliser le PIA 2007 (assemblage d'interopérabilité primaire) avec une installation de 2003, vous pouvez essayer d'accéder au PIA par réflexion car je suppose que les appels souhaités ne le seront pas. changer entre les deux, et alors ce ne sera pas grave - vous utiliserez celui qui est installé. Si vous installez également le PIA, vous pouvez soit demander à l'utilisateur de vous dire ce qu'il a, soit être un peu plus intelligent et simplement essayer 2007 et s'il échoue, essayez 2003.

Comme je l’ai dit, je suppose ici, mais cela vaut la peine d’essayer.

EDIT: j'ai trouvé ce lien à propos de Bureau PIA. Cela fait référence à Excel mais couvre en fait Office en général. Je n'envie pas la tâche que vous avez. On dirait que vous devez détecter le PIA (qui peut être installé ou non) et agir en conséquence. Cela me semble être un travail de réflexion.

Les versions les plus récentes d'Office maintiendront la compatibilité, sinon la totalité, avec les versions antérieures des objets COM. Cela signifie que si vous souhaitez programmer avec Office 2003 et 2007, vous devrez utiliser les objets COM d'Office 11 en tant que dépendance, car ils étaient les derniers disponibles lors de la publication de 2003. Tant que vous vérifiez que les méthodes dont vous avez besoin existent dans les deux versions d’objets COM, vous ne devriez pas rencontrer de problèmes tant que vous utilisez les anciens objets COM.

Malheureusement, bien que j'aie utilisé cette solution pour mon propre travail, je ne l'ai pas testée avec Spell Check. En fin de compte, assurez-vous de tester votre code avec toutes les versions d'Office que vous souhaitez intégrer.

Ma réaction instinctive à cette question est de simplement suggérer que vous preniez un autre chemin. Essayez d’utiliser un contrôle de vérification orthographique tiers. Ils sont relativement peu coûteux (et vous pouvez trouver des contrôles gratuits). Au moins, vous pouvez ainsi contrôler la version du contrôle fourni avec votre application et pouvoir compter sur ses fonctionnalités. Franchement, je suis surpris que cette bibliothèque ne soit pas déjà intégrée à Windows. Certes, c’est compliqué avec toutes les langues que Windows prend en charge, mais de nos jours, il est similaire au copier / coller en termes d’attentes des utilisateurs.

Vous pouvez réellement empaqueter les interops office11 et office12 nécessaires pour fonctionner dans les DEUX versions. Cela demande un peu de travail mais j'ai réussi à le faire. Je vérifie dans le registre quelle interop doit être appelée, puis exécute la vérification orthographique avec la version correcte. Il va même jusqu'à vérifier si Word est installé et envoie une alerte d'erreur indiquant que vous ne pouvez pas vérifier l'orthographe sans Word. Nous sommes liés à l'utilisation de Word en raison du dictionnaire médical lié à Office que nous devons utiliser.

Faites une recherche sur les wrappers interop ou Com et je pense que vous constaterez que vous pouvez les utiliser assez facilement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top