簡體   English   中英

從 Excel 中從指定帳戶發送 Outlook 電子郵件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM