2010-02-25 2 views
3

En réponse à un e-mail avec la ligne d'objet « test », avec ce code ...Gmail comme "Envoyer et archiver" dans Outlook. Comment arriver à l'e-mail « parent » lorsque vous répondez

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) 
    If TypeName(Item) = "MailItem" Then 
    Debug.Print Item.Subject 
    Debug.Print Item.Parent 
    End If 
End Sub 

... retourne cela.

Inbox
RE: Test

Je cherche à arriver à « test », qui est l'e-mail étant répondu à il peut être automatiquement .Amener (d) dans un dossier d'archives .

Répondre

2

Ce serait mieux dans Outlook 2010, je pense. Pour les versions antérieures, je crois que vous voulez que ce code qui est directement cité http://www.outlookcode.com/codedetail.aspx?id=1714

Function FindParentMessage(msg As Outlook.MailItem) _ 
      As Outlook.MailItem 
    Dim strFind As String 
    Dim strIndex As String 
    Dim fld As Outlook.MAPIFolder 
    Dim itms As Outlook.Items 
    Dim itm As Outlook.MailItem 
    On Error Resume Next 
    strIndex = Left(msg.ConversationIndex, _ 
        Len(msg.ConversationIndex) - 10) 
    Set fld = Application.Session.GetDefaultFolder(olFolderInbox) 
    strFind = "[ConversationTopic] = " & _ 
       Chr(34) & msg.ConversationTopic & Chr(34) 
    Set itms = fld.Items.Restrict(strFind) 
    Debug.Print itms.Count 
    For Each itm In itms 
     If itm.ConversationIndex = strIndex Then 
      Debug.Print itm.To 
      Set FindParentMessage = itm 
      Exit For 
     End If 
    Next 
    Set fld = Nothing 
    Set itms = Nothing 
    Set itm = Nothing 
End Function 
+0

Remou. Vous n'êtes pas arrivé à essayer ce code, n'est-ce pas? Je ne peux pas le faire fonctionner et il est presque impossible de déboguer car il semble lancer des erreurs de manière aléatoire. Vous vous demandez si c'est juste moi. – GollyJer

+0

Oui, je l'ai essayé, mais dans la version bêta d'Outlook 2010. J'ai une version antérieure, mais elle n'est pas disponible avant demain (WET, UTC + 0) – Fionnuala

+0

D'accord, dans Outlook 2000, le ConversationIndex est stocké dans un format différent, de sorte que le code ne sera pas adapté à 2000 en l'état. Je cherche plus d'informations. BTW quelle erreur obtenez-vous? – Fionnuala

2
Item.ConversationTopic 

est la propriété que vous recherchez.

+0

En fin de compte c'était la propriété mais la réponse de Remou a fait le plein travail. Merci bite. – GollyJer

+0

D'accord. Et c'est une bonne réponse. Je pensais que ce serait bien de séparer le blé de l'ivraie au cas où quelqu'un d'autre aurait juste besoin du frappeur rapide. –

Questions connexes