Est-ce qu'il existe une méthode en vba pour détecter les modifs dans le
calendrier ou le gestionnaire de taches ?
comme exemple un utilisateur sur Outlook décide de changer l'heure d'un
rendez-vous dans le calendrier, j'ai besoin de détecter cette
modification pour avertir d'autres colègues.
En mettant les éléments en surbrillance dans le listview, il est surement possible de détecter ces éléments et du coup les items ciblés.
Hier j'ai tanté de trouver comment atteindre le listview de Contact et ce fut sans succes.
Donc je suppose comment tu sais faire
a+ Eddy
J'apprécie ton aide et t'en remercie beaucoup
Geo a pensé très fort :
Bonjour Eddy
Alors comment trouver le contact, la tache ou l'appointement détruit ?
Apparemment l'événement se déclenche après la suppression, on n'a donc plus l'élément, à moins qu'il ne soit dans les éléments supprimés. Ce sera intéressant à savoir. Il y a une page d'aide sur ItemRemove, avec un exemple : HV10040494 (mettre cette référence dans la fenêtre de recherche) Le premier paragraphe est particulièrement intéressant, mais ne laisse aucun espoir pour les cas ignorés. L'exemple prépare un message pour que l'opérateur mette lui-même le nom du contact supprimé ! Mais ça montre aussi que vous êtes sur la bonne piste.
salut
En mettant les éléments en surbrillance dans le listview, il est
surement possible de détecter ces éléments et du coup les items ciblés.
Hier j'ai tanté de trouver comment atteindre le listview de Contact et
ce fut sans succes.
Donc je suppose comment tu sais faire
a+ Eddy
J'apprécie ton aide et t'en remercie beaucoup
Geo a pensé très fort :
Bonjour Eddy
Alors comment trouver le contact, la tache ou l'appointement détruit ?
Apparemment l'événement se déclenche après la suppression, on n'a donc plus
l'élément, à moins qu'il ne soit dans les éléments supprimés.
Ce sera intéressant à savoir.
Il y a une page d'aide sur ItemRemove, avec un exemple :
HV10040494 (mettre cette référence dans la fenêtre de recherche)
Le premier paragraphe est particulièrement intéressant, mais ne laisse aucun
espoir pour les cas ignorés.
L'exemple prépare un message pour que l'opérateur mette lui-même le nom du
contact supprimé !
Mais ça montre aussi que vous êtes sur la bonne piste.
En mettant les éléments en surbrillance dans le listview, il est surement possible de détecter ces éléments et du coup les items ciblés.
Hier j'ai tanté de trouver comment atteindre le listview de Contact et ce fut sans succes.
Donc je suppose comment tu sais faire
a+ Eddy
J'apprécie ton aide et t'en remercie beaucoup
Geo a pensé très fort :
Bonjour Eddy
Alors comment trouver le contact, la tache ou l'appointement détruit ?
Apparemment l'événement se déclenche après la suppression, on n'a donc plus l'élément, à moins qu'il ne soit dans les éléments supprimés. Ce sera intéressant à savoir. Il y a une page d'aide sur ItemRemove, avec un exemple : HV10040494 (mettre cette référence dans la fenêtre de recherche) Le premier paragraphe est particulièrement intéressant, mais ne laisse aucun espoir pour les cas ignorés. L'exemple prépare un message pour que l'opérateur mette lui-même le nom du contact supprimé ! Mais ça montre aussi que vous êtes sur la bonne piste.
Geo
Bonjour Eddy
En mettant les éléments en surbrillance dans le listview, il est surement possible de détecter ces éléments et du coup les items ciblés.
Hier j'ai tanté de trouver comment atteindre le listview de Contact et ce fut sans succes.
Je ne suis pas certain de comprendre ce qu'il y a derrière "listview"
Voici un code qui liste les éléments sélectionnés dans un liste que ce soit tâches contacts ou autres. Sub ListeSelection() Dim AW As Object Dim myOlApp As New Outlook.Application Dim Exp As Explorer Dim i As Integer Set AW = ActiveWindow If TypeName(AW) = "Explorer" Then 'pour bénéficier de l'intellisense Set Exp = AW Debug.Print Exp.Caption, Exp.Selection.count For i = 1 To Exp.Selection.count Debug.Print Exp.Selection.Item(i) Next End If End Sub
-- A+
Bonjour Eddy
En mettant les éléments en surbrillance dans le listview, il est surement possible de
détecter ces éléments et du coup les items ciblés.
Hier j'ai tanté de trouver comment atteindre le listview de Contact et ce fut sans
succes.
Je ne suis pas certain de comprendre ce qu'il y a derrière "listview"
Voici un code qui liste les éléments sélectionnés dans un liste que ce
soit tâches contacts ou autres.
Sub ListeSelection()
Dim AW As Object
Dim myOlApp As New Outlook.Application
Dim Exp As Explorer
Dim i As Integer
Set AW = ActiveWindow
If TypeName(AW) = "Explorer" Then
'pour bénéficier de l'intellisense
Set Exp = AW
Debug.Print Exp.Caption, Exp.Selection.count
For i = 1 To Exp.Selection.count
Debug.Print Exp.Selection.Item(i)
Next
End If
End Sub
En mettant les éléments en surbrillance dans le listview, il est surement possible de détecter ces éléments et du coup les items ciblés.
Hier j'ai tanté de trouver comment atteindre le listview de Contact et ce fut sans succes.
Je ne suis pas certain de comprendre ce qu'il y a derrière "listview"
Voici un code qui liste les éléments sélectionnés dans un liste que ce soit tâches contacts ou autres. Sub ListeSelection() Dim AW As Object Dim myOlApp As New Outlook.Application Dim Exp As Explorer Dim i As Integer Set AW = ActiveWindow If TypeName(AW) = "Explorer" Then 'pour bénéficier de l'intellisense Set Exp = AW Debug.Print Exp.Caption, Exp.Selection.count For i = 1 To Exp.Selection.count Debug.Print Exp.Selection.Item(i) Next End If End Sub
-- A+
Geo
> Avec ItemRemove il n'y a pas d'objet passé par valeur alors que les 2 autres évennements soit ItemChange et ItemAdd il un objet passé par valeur
Alors comment trouver le contacte, la tache ou l'appointement détruit ?
Ce serait peut-être plus simple de faire un macro qui supprime l'objet concerné et envoie le message d'avertissement. On peut lancer la macro par une commande ajoutée dans un menu.
-- A+
> Avec ItemRemove il n'y a pas d'objet passé par valeur alors que les 2 autres
évennements soit ItemChange et ItemAdd il un objet passé par valeur
Alors comment trouver le contacte, la tache ou l'appointement détruit ?
Ce serait peut-être plus simple de faire un macro qui supprime l'objet
concerné et envoie le message d'avertissement.
On peut lancer la macro par une commande ajoutée dans un menu.
> Avec ItemRemove il n'y a pas d'objet passé par valeur alors que les 2 autres évennements soit ItemChange et ItemAdd il un objet passé par valeur
Alors comment trouver le contacte, la tache ou l'appointement détruit ?
Ce serait peut-être plus simple de faire un macro qui supprime l'objet concerné et envoie le message d'avertissement. On peut lancer la macro par une commande ajoutée dans un menu.
-- A+
eddymaue
Ce qu'il manque c'est des évennements genres BeforeDel BeforeItemDel ou BeforeItemRemove BeforeAdd BeforeItemAdd ou BeforeItemIns BeforeMod BeforeItemModif AfterAdd ou AfterInsert AfterMod ou After AfterDel ou AfterItemRemove
en plus
... , After... Valid, When et autres
bref ce n'est pas moi qui vait réeussir à influencer les concepteurs du Vba et je comprends pourquoi MS a abanndonné VB au profit de VB.net
quoi qu'il en soit merci de ton aide Geo, je crois avoir tout ce qu'il me faut pour retourner dans mon p'tit monde (Visual Foxpro)
Pour ce qui de l'évent ItemRemove, je vais simplement constituer une table pour y recenser toutes les EntryID des Contactes,Taches et des appointments. Donc à l'activation de cet évennement, je n'airai qu'à comparer l'entryID des contactes, taches et appointement restant pour trouver celle qui a disparue.
En passant j'aime ce news il est réactif et il y a de bonnes personnes ressources
a+ Eddy
Geo avait écrit le 2009-07-26 :
Avec ItemRemove il n'y a pas d'objet passé par valeur alors que les 2 autres évennements soit ItemChange et ItemAdd il un objet passé par valeur
Alors comment trouver le contacte, la tache ou l'appointement détruit ?
Ce serait peut-être plus simple de faire un macro qui supprime l'objet concerné et envoie le message d'avertissement. On peut lancer la macro par une commande ajoutée dans un menu.
Ce qu'il manque c'est des évennements genres
BeforeDel BeforeItemDel ou BeforeItemRemove
BeforeAdd BeforeItemAdd ou BeforeItemIns
BeforeMod BeforeItemModif
AfterAdd ou AfterInsert
AfterMod ou After
AfterDel ou AfterItemRemove
en plus
... , After... Valid, When et autres
bref ce n'est pas moi qui vait réeussir à influencer les concepteurs du
Vba et je comprends pourquoi MS a abanndonné VB au profit de VB.net
quoi qu'il en soit merci de ton aide Geo, je crois avoir tout ce qu'il
me faut pour retourner dans mon p'tit monde (Visual Foxpro)
Pour ce qui de l'évent ItemRemove, je vais simplement constituer une
table pour y recenser toutes les EntryID des Contactes,Taches et des
appointments. Donc à l'activation de cet évennement, je n'airai qu'à
comparer l'entryID des contactes, taches et appointement restant pour
trouver celle qui a disparue.
En passant j'aime ce news il est réactif et il y a de bonnes personnes
ressources
a+ Eddy
Geo avait écrit le 2009-07-26 :
Avec ItemRemove il n'y a pas d'objet passé par valeur alors que les 2
autres évennements soit ItemChange et ItemAdd il un objet passé par valeur
Alors comment trouver le contacte, la tache ou l'appointement détruit ?
Ce serait peut-être plus simple de faire un macro qui supprime l'objet
concerné et envoie le message d'avertissement.
On peut lancer la macro par une commande ajoutée dans un menu.
Ce qu'il manque c'est des évennements genres BeforeDel BeforeItemDel ou BeforeItemRemove BeforeAdd BeforeItemAdd ou BeforeItemIns BeforeMod BeforeItemModif AfterAdd ou AfterInsert AfterMod ou After AfterDel ou AfterItemRemove
en plus
... , After... Valid, When et autres
bref ce n'est pas moi qui vait réeussir à influencer les concepteurs du Vba et je comprends pourquoi MS a abanndonné VB au profit de VB.net
quoi qu'il en soit merci de ton aide Geo, je crois avoir tout ce qu'il me faut pour retourner dans mon p'tit monde (Visual Foxpro)
Pour ce qui de l'évent ItemRemove, je vais simplement constituer une table pour y recenser toutes les EntryID des Contactes,Taches et des appointments. Donc à l'activation de cet évennement, je n'airai qu'à comparer l'entryID des contactes, taches et appointement restant pour trouver celle qui a disparue.
En passant j'aime ce news il est réactif et il y a de bonnes personnes ressources
a+ Eddy
Geo avait écrit le 2009-07-26 :
Avec ItemRemove il n'y a pas d'objet passé par valeur alors que les 2 autres évennements soit ItemChange et ItemAdd il un objet passé par valeur
Alors comment trouver le contacte, la tache ou l'appointement détruit ?
Ce serait peut-être plus simple de faire un macro qui supprime l'objet concerné et envoie le message d'avertissement. On peut lancer la macro par une commande ajoutée dans un menu.
Geo
Bonjour Eddy
bref ce n'est pas moi qui vait réeussir à influencer les concepteurs du Vba
On aimerait bien que le vba évolue comme le vb. Plus on sera nombreux a demander des évolutions du vba, plus on a des chances d'être entendus. MS a fait machine arrière pour la suppression du vba sur Mac.
quoi qu'il en soit merci de ton aide Geo, je crois avoir tout ce qu'il me faut pour retourner dans mon p'tit monde (Visual Foxpro)
C'est pour ça que faire des tables ne te fait pas peur.
Bon courage pour la suite.
-- A+
Bonjour Eddy
bref ce n'est pas moi qui vait réeussir à influencer les concepteurs du Vba
On aimerait bien que le vba évolue comme le vb.
Plus on sera nombreux a demander des évolutions du vba, plus on a des
chances d'être entendus.
MS a fait machine arrière pour la suppression du vba sur Mac.
quoi qu'il en soit merci de ton aide Geo, je crois avoir tout ce qu'il me faut pour
retourner dans mon p'tit monde (Visual Foxpro)
C'est pour ça que faire des tables ne te fait pas peur.
bref ce n'est pas moi qui vait réeussir à influencer les concepteurs du Vba
On aimerait bien que le vba évolue comme le vb. Plus on sera nombreux a demander des évolutions du vba, plus on a des chances d'être entendus. MS a fait machine arrière pour la suppression du vba sur Mac.
quoi qu'il en soit merci de ton aide Geo, je crois avoir tout ce qu'il me faut pour retourner dans mon p'tit monde (Visual Foxpro)
C'est pour ça que faire des tables ne te fait pas peur.
Bon courage pour la suite.
-- A+
eddymaue
Allo Geo, j'ai trouvé
Public WithEvents MyContactItem As Outlook.ContactItem Public WithEvents MyTaskItem As Outlook.TaskItem Public WithEvents MyAppointmentItem As Outlook.AppointmentItem
et l'évennement c'est BeforeDelete()
Private Sub MyAppointmentItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
End Sub
Private Sub MyContactItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
End Sub
Private Sub myMailItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
End Sub
Private Sub MyTaskItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
End Sub
a+ Eddy et merci pour le reste, ca m'a fait avancer vite vite vite
Geo avait énoncé :
Bonjour Eddy
bref ce n'est pas moi qui vait réeussir à influencer les concepteurs du Vba
On aimerait bien que le vba évolue comme le vb. Plus on sera nombreux a demander des évolutions du vba, plus on a des chances d'être entendus. MS a fait machine arrière pour la suppression du vba sur Mac.
quoi qu'il en soit merci de ton aide Geo, je crois avoir tout ce qu'il me faut pour retourner dans mon p'tit monde (Visual Foxpro)
C'est pour ça que faire des tables ne te fait pas peur.
Bon courage pour la suite.
Allo Geo, j'ai trouvé
Public WithEvents MyContactItem As Outlook.ContactItem
Public WithEvents MyTaskItem As Outlook.TaskItem
Public WithEvents MyAppointmentItem As Outlook.AppointmentItem
et l'évennement c'est BeforeDelete()
Private Sub MyAppointmentItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
End Sub
Private Sub MyContactItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
End Sub
Private Sub myMailItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
End Sub
Private Sub MyTaskItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
End Sub
a+ Eddy et merci pour le reste, ca m'a fait avancer vite vite vite
Geo avait énoncé :
Bonjour Eddy
bref ce n'est pas moi qui vait réeussir à influencer les concepteurs du Vba
On aimerait bien que le vba évolue comme le vb.
Plus on sera nombreux a demander des évolutions du vba, plus on a des chances
d'être entendus.
MS a fait machine arrière pour la suppression du vba sur Mac.
quoi qu'il en soit merci de ton aide Geo, je crois avoir tout ce qu'il me
faut pour retourner dans mon p'tit monde (Visual Foxpro)
C'est pour ça que faire des tables ne te fait pas peur.
Public WithEvents MyContactItem As Outlook.ContactItem Public WithEvents MyTaskItem As Outlook.TaskItem Public WithEvents MyAppointmentItem As Outlook.AppointmentItem
et l'évennement c'est BeforeDelete()
Private Sub MyAppointmentItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
End Sub
Private Sub MyContactItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
End Sub
Private Sub myMailItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
End Sub
Private Sub MyTaskItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
End Sub
a+ Eddy et merci pour le reste, ca m'a fait avancer vite vite vite
Geo avait énoncé :
Bonjour Eddy
bref ce n'est pas moi qui vait réeussir à influencer les concepteurs du Vba
On aimerait bien que le vba évolue comme le vb. Plus on sera nombreux a demander des évolutions du vba, plus on a des chances d'être entendus. MS a fait machine arrière pour la suppression du vba sur Mac.
quoi qu'il en soit merci de ton aide Geo, je crois avoir tout ce qu'il me faut pour retourner dans mon p'tit monde (Visual Foxpro)
C'est pour ça que faire des tables ne te fait pas peur.
Bon courage pour la suite.
Geo
> Allo Geo, j'ai trouvé
Merci Eddy pour ce tuyau. Ca ira plus vite comme ça.
-- A+
> Allo Geo, j'ai trouvé
Merci Eddy pour ce tuyau.
Ca ira plus vite comme ça.
Merci Eddy pour ce tuyau. Ca ira plus vite comme ça.
-- A+
eddymaue
Salut Geo,
comme mon projet avance à grand pas la dossier Outlook est maintenant clos et je peux enfin récupérer tous les évènements déclenchés par l'utilisateur.
à savoir quel item des modules Tâche, Calendrier et Contact qui subissent des modifs, ajouts ou qui sont détruits.
Pour ce qui conserne l'évènement _BeforeDelete(ByVal Item As Object, Cancel As Boolean) je n'ai pas réeussit à le mettre à exécution ce qui fait que j'ai poursuivit mes recherches et j'ai trouvé ce qui suit et qui fonctionne très bien. De plus c'est utilisable pour les versions plus anciennes que la 2007
Alors voilà
'Module ThisOutlookSession Option Explicit Dim y As New Delete_Item Dim X As New Modif_item Dim z As New Ajout_Item
Private Sub Application_Startup()
' 2009-08-26 Set y.ApOutLook = CreateObject("Outlook.Application") Set z.ApOutLook = CreateObject("Outlook.Application")
' 2009-07-24 Set X.ApOutLook = CreateObject("Outlook.Application") End Sub
' Module Class Delete_item Option Explicit Public ApOutLook As New Outlook.Application Dim WithEvents objCalandarlFolder As Outlook.Folder Dim WithEvents objTasklFolder As Outlook.Folder Dim WithEvents objContactlFolder As Outlook.Folder
Dim objDelFolder As Outlook.Folder Private Sub class_initialize() Set objTasklFolder = Application.Session.GetDefaultFolder(olFolderTasks) Set objCalandarlFolder = Application.Session.GetDefaultFolder(olFolderCalendar) Set objContactlFolder = Application.Session.GetDefaultFolder(olFolderContacts) Set objDelFolder = Application.Session.GetDefaultFolder(olFolderDeletedItems)
End Sub
Private Sub objCalandarlFolder_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
If MoveTo Is Nothing Then Debug.Print Item.Subject & " was hard deleted" ElseIf MoveTo = objDelFolder Then Debug.Print Item.Subject & " was moved to Deleted Items" End If End Sub Private Sub objTasklFolder_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
If MoveTo Is Nothing Then Debug.Print Item.Subject & " was hard deleted" ElseIf MoveTo = objDelFolder Then Debug.Print Item.EntryID & " was moved to Deleted Items" Debug.Print Item.Subject & " was moved to Deleted Items"
End If End Sub
Private Sub objContactlFolder_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
If MoveTo Is Nothing Then Debug.Print Item.Subject & " was hard deleted" ElseIf MoveTo = objDelFolder Then Debug.Print Item.EntryID & " was moved to Deleted Items" Debug.Print Item.Subject & " was moved to Deleted Items"
End If End Sub
Après mûre réflexion, Geo a écrit :
Allo Geo, j'ai trouvé
Merci Eddy pour ce tuyau. Ca ira plus vite comme ça.
Salut Geo,
comme mon projet avance à grand pas la dossier Outlook est maintenant
clos et je peux enfin récupérer tous les évènements déclenchés par
l'utilisateur.
à savoir quel item des modules Tâche, Calendrier et Contact qui
subissent des modifs, ajouts ou qui sont détruits.
Pour ce qui conserne l'évènement _BeforeDelete(ByVal Item As Object,
Cancel As Boolean) je n'ai pas réeussit à le mettre à exécution ce qui fait que j'ai
poursuivit mes recherches et j'ai trouvé ce qui suit et qui fonctionne
très bien. De plus c'est utilisable pour les versions plus anciennes que la 2007
Alors voilà
'Module ThisOutlookSession
Option Explicit
Dim y As New Delete_Item
Dim X As New Modif_item
Dim z As New Ajout_Item
Private Sub Application_Startup()
' 2009-08-26
Set y.ApOutLook = CreateObject("Outlook.Application")
Set z.ApOutLook = CreateObject("Outlook.Application")
' 2009-07-24
Set X.ApOutLook = CreateObject("Outlook.Application")
End Sub
' Module Class Delete_item
Option Explicit
Public ApOutLook As New Outlook.Application
Dim WithEvents objCalandarlFolder As Outlook.Folder
Dim WithEvents objTasklFolder As Outlook.Folder
Dim WithEvents objContactlFolder As Outlook.Folder
Dim objDelFolder As Outlook.Folder
Private Sub class_initialize()
Set objTasklFolder = Application.Session.GetDefaultFolder(olFolderTasks)
Set objCalandarlFolder = Application.Session.GetDefaultFolder(olFolderCalendar)
Set objContactlFolder = Application.Session.GetDefaultFolder(olFolderContacts)
Set objDelFolder = Application.Session.GetDefaultFolder(olFolderDeletedItems)
End Sub
Private Sub objCalandarlFolder_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
If MoveTo Is Nothing Then
Debug.Print Item.Subject & " was hard deleted"
ElseIf MoveTo = objDelFolder Then
Debug.Print Item.Subject & " was moved to Deleted Items"
End If
End Sub
Private Sub objTasklFolder_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
If MoveTo Is Nothing Then
Debug.Print Item.Subject & " was hard deleted"
ElseIf MoveTo = objDelFolder Then
Debug.Print Item.EntryID & " was moved to Deleted Items"
Debug.Print Item.Subject & " was moved to Deleted Items"
End If
End Sub
Private Sub objContactlFolder_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
If MoveTo Is Nothing Then
Debug.Print Item.Subject & " was hard deleted"
ElseIf MoveTo = objDelFolder Then
Debug.Print Item.EntryID & " was moved to Deleted Items"
Debug.Print Item.Subject & " was moved to Deleted Items"
End If
End Sub
Après mûre réflexion, Geo a écrit :
Allo Geo, j'ai trouvé
Merci Eddy pour ce tuyau.
Ca ira plus vite comme ça.
comme mon projet avance à grand pas la dossier Outlook est maintenant clos et je peux enfin récupérer tous les évènements déclenchés par l'utilisateur.
à savoir quel item des modules Tâche, Calendrier et Contact qui subissent des modifs, ajouts ou qui sont détruits.
Pour ce qui conserne l'évènement _BeforeDelete(ByVal Item As Object, Cancel As Boolean) je n'ai pas réeussit à le mettre à exécution ce qui fait que j'ai poursuivit mes recherches et j'ai trouvé ce qui suit et qui fonctionne très bien. De plus c'est utilisable pour les versions plus anciennes que la 2007
Alors voilà
'Module ThisOutlookSession Option Explicit Dim y As New Delete_Item Dim X As New Modif_item Dim z As New Ajout_Item
Private Sub Application_Startup()
' 2009-08-26 Set y.ApOutLook = CreateObject("Outlook.Application") Set z.ApOutLook = CreateObject("Outlook.Application")
' 2009-07-24 Set X.ApOutLook = CreateObject("Outlook.Application") End Sub
' Module Class Delete_item Option Explicit Public ApOutLook As New Outlook.Application Dim WithEvents objCalandarlFolder As Outlook.Folder Dim WithEvents objTasklFolder As Outlook.Folder Dim WithEvents objContactlFolder As Outlook.Folder
Dim objDelFolder As Outlook.Folder Private Sub class_initialize() Set objTasklFolder = Application.Session.GetDefaultFolder(olFolderTasks) Set objCalandarlFolder = Application.Session.GetDefaultFolder(olFolderCalendar) Set objContactlFolder = Application.Session.GetDefaultFolder(olFolderContacts) Set objDelFolder = Application.Session.GetDefaultFolder(olFolderDeletedItems)
End Sub
Private Sub objCalandarlFolder_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
If MoveTo Is Nothing Then Debug.Print Item.Subject & " was hard deleted" ElseIf MoveTo = objDelFolder Then Debug.Print Item.Subject & " was moved to Deleted Items" End If End Sub Private Sub objTasklFolder_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
If MoveTo Is Nothing Then Debug.Print Item.Subject & " was hard deleted" ElseIf MoveTo = objDelFolder Then Debug.Print Item.EntryID & " was moved to Deleted Items" Debug.Print Item.Subject & " was moved to Deleted Items"
End If End Sub
Private Sub objContactlFolder_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
If MoveTo Is Nothing Then Debug.Print Item.Subject & " was hard deleted" ElseIf MoveTo = objDelFolder Then Debug.Print Item.EntryID & " was moved to Deleted Items" Debug.Print Item.Subject & " was moved to Deleted Items"
End If End Sub
Après mûre réflexion, Geo a écrit :
Allo Geo, j'ai trouvé
Merci Eddy pour ce tuyau. Ca ira plus vite comme ça.
Geo
Bonjour Eddy
C'est sympa de faire part de la suite de ce projet. Je vais archiver ce courriel plein d'enseignements. Ca devient plutôt complexe, je suppose que les modules Modif_item et Ajout_Item sont bâtis sur le même modèle.
Bonne continuation.
-- A+
Bonjour Eddy
C'est sympa de faire part de la suite de ce projet.
Je vais archiver ce courriel plein d'enseignements.
Ca devient plutôt complexe, je suppose que les modules Modif_item et
Ajout_Item sont bâtis sur le même modèle.
C'est sympa de faire part de la suite de ce projet. Je vais archiver ce courriel plein d'enseignements. Ca devient plutôt complexe, je suppose que les modules Modif_item et Ajout_Item sont bâtis sur le même modèle.
Bonne continuation.
-- A+
eddymaue
Exacte c'est seulement pour classifier les méthodes selon leurs types d'actions
bonne journée
a+ eddy Geo avait écrit le 2009-08-28 :
Bonjour Eddy
C'est sympa de faire part de la suite de ce projet. Je vais archiver ce courriel plein d'enseignements. Ca devient plutôt complexe, je suppose que les modules Modif_item et Ajout_Item sont bâtis sur le même modèle.
Bonne continuation.
Exacte c'est seulement pour classifier les méthodes selon leurs types
d'actions
bonne journée
a+ eddy
Geo avait écrit le 2009-08-28 :
Bonjour Eddy
C'est sympa de faire part de la suite de ce projet.
Je vais archiver ce courriel plein d'enseignements.
Ca devient plutôt complexe, je suppose que les modules Modif_item et
Ajout_Item sont bâtis sur le même modèle.
Exacte c'est seulement pour classifier les méthodes selon leurs types d'actions
bonne journée
a+ eddy Geo avait écrit le 2009-08-28 :
Bonjour Eddy
C'est sympa de faire part de la suite de ce projet. Je vais archiver ce courriel plein d'enseignements. Ca devient plutôt complexe, je suppose que les modules Modif_item et Ajout_Item sont bâtis sur le même modèle.