Appel de "Références"

Signaler
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
Bonjour,

Dans mon appli,  je souhaite placer un RDV dans l'agenda d'OUTLOOK. Mais selon la version d'oulook (exprees ou non) l'agenda n'est pas dispo, j'ai trouvé le code pour définir la version, mais voila la question: 

Peut-on appeler une référence telle que Microsoft OUTLOOK 11.0 Object library ( MSOUTL.OLB) si le PC utilise outlook (non express). Car si, à la programmation, je coche cette case, et que j'utilise l'appli sur un PC avec OUTLOOK Express, c'est le plantage, idem si je ne la coche pas et que j'utilise l'appli sur un PC avec outlook (non express). J'aurais donc aimé pouvoir appeler cette référence selon la version d'outlook!

Quelqu'un saurait-il faire ça?

3 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
À ce moment-là je pense que tu devras laisser tomber les références explicites (menu Références) et utiliser la méthode CreateObject après vérification des applications installées.  Ça devrait régler le problème Outook vs Outlook Express, mais aussi les problèmes de versions sous Outlook.

MPi²
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Merci MPi,

Tout les exemples que j'ai trouvé avec CreateObject necessite que la reference soit selectionnée.

N'y connaissant pas grand chose , pourrais-tu prendre le temps de m'expliquer (en gros) comment fonctionne un CreateObject?

Pour l'instant je coche la reference  Microsoft OUTLOOK 11.0 Object library   et voici mon code:

Public Function Rendez_vous(DRDV As String, HRDV As String, Sujet As String) As String



'Ajout d'un rdv au calendrier



Dim objOutlook As New Outlook.Application
Dim objOutlookAppt As Outlook.AppointmentItem



On Error GoTo Fin
Duree = 30
' en Hard pour le moment



Set objOutlookAppt = objOutlook.CreateItem(olAppointmentItem)
With objOutlookAppt
       .Start = DRDV & " " & HRDV     'Durée e RDV et Heure de RDV
       .Duration = Duree
       .subject = Sujet
       .Save
End With



Fin:
End Function


A quoi cela pourrait-il ressembler avec un CreateObject????

Jimy
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Sans tester, ça devrait ressembler à ça.
Et tu enlèves les références... c'est le but...

Public Function Rendez_vous(DRDV As String, HRDV As String, Sujet As String) As String

'Ajout d'un rdv au calendrier



Dim objOutlook As Object    'New Outlook.Application
Dim objOutlookAppt As Object     'Outlook.AppointmentItem



On Error GoTo Fin
Duree = 30
' en Hard pour le moment



Set
objOutlook = CreateObject("Outlook.Application")




Set objOutlookAppt = objOutlook.CreateItem(olAppointmentItem)
With objOutlookAppt
       .Start = DRDV & " " & HRDV     'Durée e RDV et Heure de RDV
       .Duration = Duree
       .subject = Sujet
       .Save
End With


Fin:
End Function



MPi²