Bonjour,
Je cherche à changer de compte au moment de l'envoi d'un mail.
Google (qui est mon amis ) me donne toujours la meme chose :
Dans la fonction
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) |
Appeler une fonction, mais qui ne fonctionne pas, cette fonction n'a pas l'air de faire son office
Set CBP = CBs.FindControl(, ID_ACCOUNTS) |
du coup l'objet est vide, et le reste de la fonction sert à rien en gros, du coup.
Ma question est : Vous sauriez comment changer un compte au moment de l'envoi ?
Merci d'avance
je patauge depuis des jours sans y arriver
Function Set_Account(ByVal AccountName As String, M As Outlook.MailItem) As String
Dim OLI As Outlook.Inspector
Dim strAccountBtnName As String
Dim intLoc As Integer
Const ID_ACCOUNTS = 31224
Dim CBs As Office.CommandBars
Dim CBP As Office.CommandBarPopup
Dim MC As Office.CommandBarControl
Set OLI = M.GetInspector
If Not OLI Is Nothing Then
Set CBs = OLI.CommandBars
Set CBP = CBs.FindControl(, ID_ACCOUNTS)
'If Not CBP Is Nothing Then
CBP.Reset
'End If
If Not CBP Is Nothing Then
MsgBox "Hello"
For Each MC In CBP.Controls
intLoc = InStr(MC.Caption, " " )
If intLoc > 0 Then
strAccountBtnName = Mid(MC.Caption, intLoc + 1)
Else
strAccountBtnName = MC.Caption
End If
If strAccountBtnName = AccountName Then
MC.Execute
Set_Account = AccountName
GoTo Exit_Function
End If
Next
End If
End If
Set_Account = ""
Exit_Function: Set MC = Nothing
Set CBP = Nothing
Set CBs = Nothing
Set OLI = Nothing
End Function |