J'ai un addin de outlook qui gère certains types d'emails envoyés. Pour certains types d'e-mail, les utilisateurs doivent remplir un formulaire avec quelques informations, puis exporter l'e-mail sous forme de MSG vers un arborescence du système de fichiersComplément Outlook VSTO - Gestionnaire à envoyer Les éléments ne fonctionnent pas toujours
J'ai un ruban avec un bouton qui définit un indicateur (userproperty) sur l'e-mail envoyé de sorte que le Addin sait quel email doit être sauvé:
Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click
Dim oProperties As Outlook.UserProperties
Dim oProperty As Outlook.UserProperty
oMail = Globals.ThisAddIn.Application.ActiveInspector.CurrentItem
If Not oMail Is Nothing Then
oProperties = oMail.UserProperties
oProperty = oProperties.Add("SALVARAPIGES", Microsoft.Office.Interop.Outlook.OlUserPropertyType.olYesNo)
oProperty.Value = True
oMail.Save()
oMail.Send()
Else
MsgBox("Err")
Exit Sub
End If
End Sub
au démarrage Addin, j'ai (extrait):
Private Sub ThisAddIn_Startup() Handles Me.Startup
Dim sentItems As Outlook.Items
Dim sentFolder As Outlook.Folder
Dim paisapiges As String
Dim aux As String()
Dim ns As Microsoft.Office.Interop.Outlook.NameSpace
apigesIsLoaded = True
'adiciono um trigger para que sempre que for enviado um email e for do tipo SALVARAPIGES, ele fará o tratamento de salvar o email.
sentFolder = Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail)
sentItems = sentFolder.Items
AddHandler sentItems.ItemAdd, AddressOf itemadd
et ma routine ItemAdd:
Sub itemadd(ByVal NewEmailItem As Object)
Dim oProperties As Outlook.UserProperties
Dim salvaApiges As Boolean
Dim sentMessageItem As Outlook.MailItem = CType(NewEmailItem, Outlook.MailItem)
Dim mainForm As New formSalvarApiges()
salvaApiges = False
If Not sentMessageItem Is Nothing Then
oProperties = sentMessageItem.UserProperties
For Each pr As Outlook.UserProperty In oProperties
If pr.Name = "SALVARAPIGES" Then
salvaApiges = True
Exit For
End If
Next
If salvaApiges Then
mainForm.txtAssunto.Text = sentMessageItem.Subject
mainForm.sAction = "Acao01"
mainForm.sEntryId = sentMessageItem.EntryID
mainForm.ShowDialog()
mainForm.Close()
End If
End If
End Sub
comme vous pouvez le voir chaque fois qu'un email a cette propriété d'utilisateur "SALVARAPIGES", il doit être enregistré dans MSG dans une arborescence de répertoires. Mais la moitié des utilisateurs disent que cela ne fonctionne pas (LE FORMULAIRE N'EST PAS POPPED), mais chaque fois que je le teste, ça fonctionne. Je suis très nouveau à VSTO et tous les concepts derrière cela ... quelqu'un peut-il me pointer la direction?
J'ai essayé d'utiliser la méthode NameSpace.SendAndReceive, mais ils continuent de se plaindre.
merci d'avance!
merci pour votre réponse plus complète, mais la première réponse est encore assez pour résoudre le problème , donc je vais lui donner le crédit. Mais merci beaucoup! – fferrandini