2010-11-04 23 views
1

J'ai une macro dans Excel 2007 qui interagit avec Microsoft Word. J'applique la bibliothèque d'objets Microsoft Word 12.0 afin d'accéder aux commandes nécessaires. Toutefois, lorsqu'un utilisateur Office 2003 essaie d'utiliser la macro, il obtient une erreur. Cela est dû au fait qu'Office 2003 utilise la bibliothèque d'objets Microsoft Word 11.0. La bibliothèque 12.0 est considérée comme manquante.Compatibilité Microsoft Object Library entre 2007 et 2003

Si je sauvegarde le document en 2003 avec la bibliothèque d'objets 11.0, tout fonctionne correctement. Les utilisateurs de 2003 et 2007 sont en mesure d'utiliser la macro. Mais 2007 semble mettre à jour automatiquement la bibliothèque d'objets 11.0 à 12.0. Ainsi, si un utilisateur enregistre le document en 2007 et essaie de le renvoyer à un utilisateur 2003, la fonctionnalité se casse à nouveau.

Existe-t-il un moyen de dire à VBA de référencer 11.0 en utilisant 2003?

Répondre

0

Vous pouvez utiliser une liaison tardive. Supprimez la référence à la bibliothèque Word et utilisez:

Dim ws As Object 

Set ws=CreateObject("Word.Application") 

Vous devrez remplacer toutes les constantes Word intégrées par des valeurs. Vous pouvez trouver les valeurs avant de supprimer la référence de la bibliothèque en tapant par exemple,

?wdDocument 

dans la fenêtre immédiate, ou en utilisant l'Explorateur d'objets.