Devi aggiungere l'istruzione "del tipo"
.SendUsingAccount = OutApp.Session.Accounts.Item(1) prima dell'istruzione
.SendTuttavia....
1) l'uso del metodo SendUsingAccount presuppone che nel tuo "Progetto Vba" sia impostato un riferimento alla libreria vba di Microsoft Outlook
2) devi usare l'indice giusto per puntare all'account giusto
Per impostare il riferimento:
-dalla finestra Microsoft Visual Basic: Menu /Strumenti /Riferimenti; scorri l'elenco, trova e spunta la voce Microsoft Outlook XX.X Object Library, premi Ok
Dopo aver impostato questo riferimento, e' meglio modificare la prima parte della macro in
- Codice: Seleziona tutto
Sub InvioemailEB()
'early binding
Dim OutApp As Outlook.Application
Dim OutMail As MailItem
Dim EmailAddr As String
Dim Subj As String
Dim BodyText As String 'FIN QUI E' SONO "DICHIARAZIONI"
' (a)
Set OutApp = New Outlook.Application
'Set OutApp = CreateObject("Outlook.Application")
'' (b)
'Continua il tuo codice
A questo punto aggiungi questa istruzione in questa posizione:
- Codice: Seleziona tutto
.SendUsingAccount = OutApp.Session.Accounts.Item(1) 'AGGIUNGERE, vedi testo che segue
.Send
Come detto pero' "devi usare l'indice giusto per puntare all'account giusto" (nell'esempio, "1" punta al primo account nella tua lista di accounts).
Se hai pochi account configurati puoi provare a inviare a te stesso una mail usando di volta in volta l'indice 1, 2, 3, ...
Es
- Codice: Seleziona tutto
.SendUsingAccount = OutApp.Session.Accounts.Item(2)
Altrimenti puoi usare questa macro per avere, su msgbox, per ogni Account configurato nel tuo Outlook:
-l'indice (che userai nell'istruzione SendUsingAccount)
-la descrizione
-l'indirizzo email
- Codice: Seleziona tutto
Sub ListaAccounts()
Dim OutApp As Outlook.Application
Dim OutMail As MailItem
Dim EmailAddr As String
Dim Subj As String
Dim BodyText As String 'FIN QUI E' SONO "DICHIARAZIONI"
' (a)
Set OutApp = New Outlook.Application
'Set OutApp = CreateObject("Outlook.Application")
'' (b)
For I = 1 To OutApp.Session.Accounts.Count
With OutApp.Session.Accounts.Item(I)
msg = I & vbCrLf & .CurrentUser & vbCrLf & .SmtpAddress
MsgBox (msg)
End With
Next I
Set OutApp = Nothing
End Sub
Ciao