Résolu : Ajouter des rendez-vous à Outlook sans utiliser la référence

Gelinotte

XLDnaute Accro
Bonjour,

Dans une autre discussion, tototiti2008 nous a aimablement donné le code pour envoyer un fichier attaché par courriel via Outlook sans être obligé d'avoir en référence "Microsoft Outlook xx.x Object Library" dans VBE de la version de notre suite Office.

Serait-il possible d'inscrire des rendez-vous dans Outlook sans utiliser cette même référence dans vbe ?

Merci de votre aide

G
 

Pièces jointes

  • Rendez-vousOutlook.xlsm
    20.4 KB · Affichages: 324
Dernière édition:

Gelinotte

XLDnaute Accro
Re : Ajouter des rendez-vous à Outlook sans utiliser la référence

Bonjour,

Malheureusement, dans le lien source de la fonction, il y ait mentionné : "Cette fonction crée un rendez vous dans un calendrier Outlook. Elle nécessite la référence Microsoft Outlook Object Library"

G
 

Staple1600

XLDnaute Barbatruc
Re : Ajouter des rendez-vous à Outlook sans utiliser la référence

RE


Pour ne pas avoir à se soucier des références des objets en général, faire ainsi

VB:
Dim objOutlook 'As Outlook.Application 
Dim objAppt 'As Outlook.AppointmentItem 
Dim olns 'As Outlook.NameSpace
Dim MycalendarFolder 'As Outlook.MAPIFolder
Dim MyEssaiFld 'As  Outlook.MAPIFolder 
Dim MyFolder 'As Outlook.Items
Set  objOutlook = CreateObject("Outlook.Application")
Mais on perd l'avantage liée à la référence
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Ajouter des rendez-vous à Outlook sans utiliser la référence

Bonjour Gelinotte, Bonjour Staple,

Les "Objets" Outlook, j'ai l'habitude de les déclarer "As Object", mais l'écriture proposée par Staple doit fonctionner
Il faut aussi remplacer les constantes outlook par leurs valeurs (constantes dont le nom commence par "ol", ici olAppointmentItem)
Et on a vu sur l'autre fil, chose que je ne savais pas, que si des méthodes sont appelées avec les arguments nommés, il vaut mieux enlever les noms des arguments sinon ça risque de planter, ce qui ne te concerne pas dans ce fil

Donc, je récapitule :
chercher les valeurs des constantes outlook utilisées dans le code et les remplacer par leurs valeurs
enlever les noms des arguments nommés dans les méthodes
changer la déclaration des objets Outlook en "As Object"
initialiser l'objet application Outlook comme ça :

Set objOutlook = CreateObject("Outlook.Application")

Et évidement, décocher la référence Outlook
normalement ça devrait rouler...
 

Gelinotte

XLDnaute Accro
Re : Ajouter des rendez-vous à Outlook sans utiliser la référence

Bonjour,

Code:
Sub InscriptionCalendrier()

Dim objOutlook As Object
Set objOutlook = CreateObject("Outlook.application")

Dim objOutlookAppt As Object
Set objOutlookAppt = objOutlook.Createitem(1)
      
      objOutlookAppt.Start = Sheets("Feuil1").Cells(1, 1) & " 00:00"
      objOutlookAppt.Subject = Sheets("Feuil1").Cells(1, 2)
      objOutlookAppt.AllDayEvent = True ' Toute la journée oui/non
      objOutlookAppt.ReminderSet = False ' S'il y a un rappel
      objOutlookAppt.Categories = "Catégorie Bleue"
      objOutlookAppt.Save
End Sub

Merci énormément à vous tous de votre intérêt dans les deux fils concernant la gestion de Outlook via Excel.
Ça m'a motivé à bûcher et, enfin, ça fonctionne.
Je peux ajouter des rendez-vous dans Outlook sans avoir la référence "Microsoft Outlook xx.x Object Library".
Ce qui permet la transportabilité de mon fichier indifféremment entre Office 2010 et Office 2007.

Merci encore :cool:

Note : On peut envoyer des courriels sans que Outlook soit ouvert; il s'ouvre en arrière plan et se referme dès que le courriel est parti.

Note2 : Mais avec ce code, pour que des rendez-vous s'inscrivent, Outlook doit être ouvert.

Geli
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 450
Membres
103 546
dernier inscrit
mohamed tano