begin process at 2010 03 19 05:24:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > OUTLOOK : ENVOI DE MAIL ET AJOUT, MODIFICATION ET SUPRRESION DES RENDEZ-VOUS DANS LE CALENDRIER

OUTLOOK : ENVOI DE MAIL ET AJOUT, MODIFICATION ET SUPRRESION DES RENDEZ-VOUS DANS LE CALENDRIER


 Information sur la source

Note :
8,5 / 10 - par 6 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Niveau :Débutant Date de création :24/03/2005 Vu :16 813

Auteur : DarkCid

Ecrire un message privé
Site perso
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

J'ai eu un mal fou à trouver comment faire tout ça, alors je me suis dit que cela pourrait aider de faire une source permettant la MAJ du calendrier Outlook ainsi que l'envoi de mail.

Source

  • 'Envoie de mail
  • Dim objOutlook as New Outlook.Application
  • Dim objOutlookMsg as Outlook.MailItem
  • Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
  • With objOutlookMsg
  • .To = "Adresse@Destinataire"
  • .Subject = "Objet du message"
  • .Body = "Texte du message"
  • .Send
  • End With
  • Set objOutlookMsg = Nothing
  • 'Ajout d'un rdv au calendrier
  • Dim objOutlook as New Outlook.Application
  • Dim objOutlookAppt as Outlook.AppointmentItem
  • Set objOutlookAppt = objOutlook.CreateItem(olAppointmentItem)
  • With objOutlookAppt
  • .Start = "jj/mm/aaaa hh:mm"
  • .Duration = x 'En minute
  • .Subject = "Description du rendez-vous"
  • .Save
  • End With
  • 'Modifier/Supprimer un rdv du calendrier
  • Dim objOutlook as New Outlook.Application
  • Dim objOutlookAppt as Outlook.AppointmentItem
  • Dim objOutlookCalendar as Outlook.Items
  • Dim objOutlookNameSpace as Outlook.NameSpace
  • Dim DateDebut as String, DateFin as String
  • Set objOutlookNameSpace = objOutlook.GetNameSpace("MAPI")
  • Set objOutlookCalendar = objOutlookNameSpace.GetDefaultFolder(olFolderCalendar).Items
  • objOutlookCalendar.Sort "[Start]"
  • objOutlookCalendar.IncludeReccurrences = True
  • DateDebut = "jj/mm/aaaa hh:mm"
  • DateFin = "jj/mm/aaaa hh:mm"
  • Set objOutlookAppt = objOutlookCalendar.Find("[Start] >= " " " & DateDebut & " " " and [Start] <= " " " & DateFin & " " " ")
  • While TypeName(objOutlookAppt) <> "Nothing"
  • If objOutlookAppt.Subject = "RDV recherché pour etre modifié" then
  • objOutlookAppt.Subject = "Nouveau sujet"
  • objOutlookAppt.Save
  • Exit Sub
  • End If
  • If objOutlookAppt.Subject = "RDV recherché pour supprimé" then
  • objOutlookAppt.Delete
  • Exit Sub
  • End If
  • Set objOutlookAppt = objOutlookCalendar.FindNext
  • Wend
'Envoie de mail

Dim objOutlook as New Outlook.Application
Dim objOutlookMsg as Outlook.MailItem

Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
       .To = "Adresse@Destinataire"
       .Subject = "Objet du message"
       .Body = "Texte du message"
       .Send
End With
Set objOutlookMsg = Nothing

'Ajout d'un rdv au calendrier

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

Set objOutlookAppt = objOutlook.CreateItem(olAppointmentItem)
With objOutlookAppt
       .Start = "jj/mm/aaaa hh:mm"
       .Duration = x       'En minute
       .Subject = "Description du rendez-vous"
       .Save
End With

'Modifier/Supprimer un rdv du calendrier

Dim objOutlook as New Outlook.Application
Dim objOutlookAppt as Outlook.AppointmentItem
Dim objOutlookCalendar as Outlook.Items
Dim objOutlookNameSpace as Outlook.NameSpace
Dim DateDebut as String, DateFin as String

Set objOutlookNameSpace =  objOutlook.GetNameSpace("MAPI")
Set objOutlookCalendar = objOutlookNameSpace.GetDefaultFolder(olFolderCalendar).Items
objOutlookCalendar.Sort "[Start]"
objOutlookCalendar.IncludeReccurrences = True

DateDebut = "jj/mm/aaaa hh:mm"
DateFin = "jj/mm/aaaa hh:mm"

Set objOutlookAppt = objOutlookCalendar.Find("[Start] >= " " " & DateDebut & " " " and    [Start] <= " " " & DateFin & " " " ")
While TypeName(objOutlookAppt) <> "Nothing"
       If objOutlookAppt.Subject = "RDV recherché pour etre modifié" then
              objOutlookAppt.Subject = "Nouveau sujet"
              objOutlookAppt.Save
              Exit Sub
       End If

       If objOutlookAppt.Subject = "RDV recherché pour supprimé" then
              objOutlookAppt.Delete
              Exit Sub
       End If 
       Set objOutlookAppt = objOutlookCalendar.FindNext
Wend

 Conclusion

Une petite précision au sujet des dates : peu importe dans l'ajout, mais dans le objOutlookCalendar.Find(), il ne faut pas mettre les secondes dans les dates sinon il deboguera.

Point Important : rien ne marche... si vous n'avez pas cocher Microsoft Outlook x.0 Object Library dans Projet/Références, alors n'oubliez pas ;-)

Vérifié bien que Outlook est bien configuré, sinon, même si le code est bon, Outlook vous causera des problèmes.


 Sources du même auteur

Source .NET (Dotnet) CONNEXION ET REQUETES SQL SERVER AVEC VB.NET

 Sources de la même categorie

Source avec Zip Source avec une capture TRI PAR INSERTION par jmc70
Source avec Zip Source avec une capture Source .NET (Dotnet) GESTION COMPLÈTE DE ZIP - ZIPDEZIP par zozo14
Source avec Zip Source avec une capture APPLICATION WEB POUR LA GESTION D'UNE AGENCE DE LOCATION DE ... par rachid1449
Source avec Zip COURS DE PILOTAGE........D'APPLICATIONS par Renfield
Source avec Zip Source .NET (Dotnet) DLL POUR K8055 (VM110) UTILISATION SIMPLIFIÉE DE CETTE CARTE par Adn56

Commentaires et avis

Commentaire de BrianBellamy le 25/03/2005 09:10:52

Ce code m'ayant énormément servi, je ne pouvais que laisser une note élevée.. cependant un détail que j'ai signalé dans le forum que j'avais lancé me perturbe encore...
En fait, je viens de voir que ce que j'ai laissé sur mon forum ne fonctionnait pas comme je le voulais puisqu'il ne tient pas compte de l'horaire..
Une petite aide serait la bienvenue car meme si je change "datedébutrecherche = VBA.Format(Date.Value & Space(1) & HDbt.Value, "Short Date")" en "datedébutrecherche = Date.Value & Space(1) & Hdbt.Value" cela ne fonctionne pas, pire, cela m'affiche une erreur "type mismatch or the value is not valid".

En espérant que vous puissiez m'aider une nouvelle fois..
D'avance merci

Brian Bellamy

PS: Date.Value= jj/mm/aaaa
      Hdbt.Value= hh/mm (qui devient après enregistrement hh/mm/ss)

Commentaire de phil5710 le 15/05/2005 13:39:41

Bonjour.

Après des heures de recherches personnelles infructueuses, j'ai découvert cet article et je me suis empressé de copier/coller le code dans mon application.
Mon objectif est de supprimer un rendez-vous dans un calendrier précis.
Hélas, ça ne marche pas:

> la commande Set objOutlookAppt = objOutlookCalendar.Find retourne toujours un status "Nothing"

> dans la commande Dim objOutlookAppt As Outlook.AppointmentItem, la propriété "AppointmentItem" ne m'est pas proposée.
Me manque-t-il quelque-chose dans mon projet?

Merci d'avance.

Commentaire de dchrist le 04/05/2007 16:01:51

Bonjour,

Super !!! Un gros merci...
Depuis quelques jours je recherche comment fixer ma recherche sur des RDV de mon calendrier OUTLOOK selon une date précise.
Je réussissais bien à avoir une liste mais je récupérais tous les RDV.

Par contre, je ne peux pas appliquer la commande suivante :
          objOutlookCalendar.IncludeReccurrences = True
??????
Je pense que c'est lié au RDV avec une périodicité.

Encore merci !

Commentaire de gfortin9 le 30/05/2007 03:27:46

Un débutant ...
La ligne :
Set objOutlookAppt = objOutlookCalendar.Find("[Start] >= " " " & DateDebut & " " " and    [Start] <= " " " & DateFin & " " " ")

me donne une erreur de syntaxe.

Commentaire de phenixa77 le 16/12/2007 19:32:11

SLT
je vous remercie pour ce code , mais j aimerai bien savoir comment envoyé un mail à une date système précis

Commentaire de RENAUD34 le 14/05/2008 15:26:18 10/10

merci pour le code, ça va enormément me rendre service.

3 rectifications pour la recherche (chez moi en tout cas):
1) objOutlookCalendar.IncludeRecurrences = True
2) DateDebut = "jj/mm/aaaa"
   DateFin = "jj/mm/aaaa"
3) Set objOutlookAppt = objOutlookCalendar.Find("[Start]>= " & """" & DateDebut & """" & " and [Start]<=" & """" & DateFin & """")

Commentaire de mitsh666 le 15/01/2009 16:40:25 4/10

Hello,

Perso, j'ai un soucis avec ton code lors de l'exécution de la ligne suivante :
        objOutlookCalendar.IncludeReccurrences = True

J'ai aussi beaucoup chercher pour arriver à trouver qqch. Voici la solution que j'ai trouvée : http://www.vbfrance.com/codes/CREATION-CANCEL-MEETING-SUR-CALENDRIER-AUTRE-CELUI-COMPTE_48982.aspx

Ta solution de modification des rendez-vous ne me plaît pas du tout, car tu supprime un rendez-vous pour en recréer un nouveau. Cela n'est pas une mise à jour du rendez-vous. Si quelqu'un a modifier le rendez-vous sur outlook avant que tu fasse la tienne, tu écrase/annule/supprime sa modification avec ta méthode. Ton code permet de créer ou supprimer. et pour la suppression c'est pas encore ça. Imagine que tu aie 2 rendez-vous avec le même sujet! Ils sont supprimés les 2. (voilà le pourquoi de la note)
Ma solution ne contient malheureusement pas la mise à jour, car je n'ai pas trouvé comment la réaliser. Et ce malgré que j'arrive à charger le bon rendez-vous grâce à l'identifiant.

Je préfère ta méthode de recherche de meetings. Cela dis, j'avais lu sur un forum qu'il était mieux de faire une recherche for next que for each afin d'éviter des erreurs non définies par Microsoft (fiction ou réalité?). Du coup, j'ai modifier le code.

A+

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales