[英]Send Outlook email, from Excel, from specified account
我正在嘗試通過 Excel 365 從 Outlook 發送帶有附加 .pdf 文件的電子郵件。
該例程在一定程度上起作用,但我必須從打開的電子郵件中手動選擇電子郵件帳戶,否則它會從默認帳戶發送。
我正在使用objMail.SendUsingAccount = "billing@anEmailAccount.co.uk"
但我仍然需要手動選擇電子郵件帳戶(出於安全原因,名稱已更改)。
Sub Email_Sheet_Click()
Dim objOutlook As Object
Dim objMail As Object
Dim signature As String
Dim PDF_FileName As String
Dim oWb As Workbook
Set oWb = ActiveWorkbook
'PDF File name
'Change accordingly....
PDF_FileName = Range("S12").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
PDF_FileName, Quality:=xlQualityStandard, IncludeDocProperties _
:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
objMail.SendUsingAccount = "billing@AnEmailAccount.co.uk"
With objMail
.Display
End With
signature = objMail.HTMLbody
With objMail
.To = ActiveSheet.Range("M5")
.Cc = ActiveSheet.Range("A3")
.Subject = "Invoice for Daycare Fees"
.HTMLbody = "<font face=" & Chr(34) & "Calibri" & Chr(34) & " size=" & Chr(34) & 4 & Chr(34) & ">" & "Hello," & "<br> <br>" & "Invoice attached " & "<br> <br>" & "Regards," & "<br> <br>" & "Playgroup Billing" & "</font>"
.Attachments.Add PDF_FileName
.Save
.Display
End With
Set objOutlook = Nothing
Set objMail = Nothing
End Sub
objMail.SendUsingAccount 需要一個Accounts 對象作為值。 如MailItem.SendUsingAccount的微軟文檔所示,您可以枚舉帳戶集合並從正確的集合發送電子郵件 - 如下所示:
Dim oAccount As Outlook.account
For Each oAccount In Application.Session.Accounts
If oAccount.AccountType = olPop3 Then
Set oMail.SendUsingAccount = oAccount
objMail.Send
End If
Next
PS:有關將 SMTP 地址轉換為 Account 對象的代碼,請參見此處。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.