Librairie dans références jamais bonne

Bonjour, j'ai un problème qui existe depuis longtemps et qui est fort tannant.

Voilà mon problème: Je fais des modifications dans un programme sur mon ordis qui est utilisé par plusieurs personnes. Lorsque ces personnes ouvrent le programme, il plante en partant parce que les libraires ne sont pas bonnes. Mais nous avons tous la même version de office et le même système d'exploitation. Au début windows 7 et maintenant windows 10. Donc moi j'ai comme librairie ex: outlook 15.0 oblect library alors que celui qui l'a ouvert va avoir outlook 16.0 object library par exemple. Ce problème existe avec outlook, word et office. est-ce que quelqu'un sait comment corriger ou contourner se problème?

merci de votre aide!

Bonjour,

Les librairies contiennent des tas d'objets, ce peut être facilitant dans certains cas.

Mais, elles ont le défaut d'être liées à la version de l'application.

Pour rendre le code transparent d'une version à l'autre des applications, au lieu d'utiliser les librairies, il faut déclaré, au début du code, les objets dont on a besoin.

Pour tester, il faut bien sûr enlever les références aux librairies dans le menu Outils > Références.

Une fois le code converti, ce devrait être transparent entre les versions Office 2007, 2010, 2013 et 2016.

Gelinotte

Bonsoir à tous,

Pour compléter avec un exemple :

> MonWord1 : cas avec une référence sur WORD

> MonWord2 : cas sans référence sur WORD

Option Explicit

Public Sub Test()

    'Dim MonWord1 As Word.Application 'avec une référence sur WORD
    Dim MonWord2 As Object 'sans référence sur WORD

    'Set MonWord1 = New Word.Application
    Set MonWord2 = CreateObject("Word.application")

    'identique quel que soit le cas
    MonWord2.Documents.Open "C:\TEMP\Test.docx"
    MonWord2.Visible = True
    MonWord2.Quit

    'Set MonWord1 = Nothing
    Set MonWord2 = Nothing

End Sub

Bonne soirée

Bouben

Bonjour,

Merci bouben, je n'avais pas d'exemple opérationnel sous la main.

Gelinotte

merci pour les réponses, effectivement ça fonctionne dans pas mal de cas mais est-ce que vous savez ce que je dois mettre pour la variable suivante:

Dim objFldInbox As Outlook.MAPIFolder

Moi je n'ai aucune idée.

merci de votre aide!

bonsoir

Dim objFldInbox As Object

ok merci bien.

Rechercher des sujets similaires à "librairie references bonne"