Ciao, per usare il client predefinito puoi usare questo sistema. In testa ad un modulo inserisci il seguente codice
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Poi crei una Sub per l'invio delle mail, costruisci la stringa come quella nell'esempio e la passi a ShellExecute come illustrato. Attenzione alla frasi con spazi, devono essere sostituiti con %20, in generale la stringa deve essere codificata come se fosse un URL
Sub mail()
Msg = "mailto:prova@prova.it?cc=destinatariocc@prova.it&subject=oggetto&body=messaggio%20di%20prova"
Call ShellExecute(0&, vbNullString, Msg, vbNullString, vbNullString, vbNormalFocus)
End Sub
Se invece vuoi usare Outlook indipendentemente dal fatto che sia o no il predefinito devi fare così:
In riferimenti aggiungi "Microsoft Outlook XX Object Library" in cui XX è la tua versione.
Poi crei una Sub come la seguente:
Sub InviaConOutlook
Dim otl As Object
Dim msg As Outlook.MailItem
Set otl = CreateObject("Outlook.Application")
Set msg = otl.CreateItem(0)
With msg
.To = "prova@prova.it"
.CC = "destinatariocc@prova.it"
.Subject = "Oggetto"
.HTMLBody = "messaggio HTML"
.Display
End With
Set msg = Nothing
Set otl = Nothing
End Sub
Se non vuoi inviare un messaggio in formato HTML semplicemente sostituisci .HTMLBody con .Body
Spero di esserti stato utile