2017-09-25 230 views
1

當我激活此宏時,是否有辦法從已登錄的Outlook帳戶「讀取」用戶電子郵件地址併發送電子郵件?從發件人帳戶獲取電子郵件地址

Sub MailSenden() 

Dim olApp  As Object 
Dim olOldBody As String 

Rem Email erstellen 
Set olApp = CreateObject("Outlook.Application") 

With olApp.CreateItem(0) 
    .GetInspector.Display 
    olOldBody = .htmlBody 
    .To = "[email protected]" 
    .Subject = "Testformular" 
    .Body = "Das ist eine e-Mail" & Chr(13) & _ 
      "Viele Grüße..." & Chr(13) & Chr(13) 
    .Attachments.Add "C:\Users\" & Environ$("USERNAME") & "\Desktop\" & "CSV-Export.csv" 
    .Attachments.Add ActiveWorkbook.FullName 
    .Send 

End With 

Kill "C:\Users\" & Environ$("USERNAME") & "\Desktop\" & "CSV-Export.csv" 


End Sub 

我需要獲取「from」電子郵件地址。

EDIT1方案:針對SMTP

Msgbox   
CreateObject("Outlook.Application").GetNamespace("MAPI").Session.CurrentUser. _ 
AddressEntry.GetExchangeUser.PrimarySmtpAddress 

回答

0

要獲取當前用戶的電子郵件地址,請用下面的代碼。

With olApp 
MsgBox .GetNamespace("MAPI").CurrentUser.Address 
End With 

選擇從哪個地址,您將發送電子郵件,請使用此代碼。這樣你就可以在創建的電子郵件中插入"FROM"選項卡。

With olApp.CreateItem(0) 
    .SentOnBehalfOfName = "[email protected]" 
    .GetInspector.Display 
    olOldBody = .htmlBody 
    .To = "[email protected]" 
    .Subject = "Testformular" 
    .Body = "Das ist eine e-Mail" & Chr(13) & _ 
      "Viele Grüße..." & Chr(13) & Chr(13) 
    .Attachments.Add "C:\Users\" & Environ$("USERNAME") & "\Desktop\" & "CSV-Export.csv" 
    .Attachments.Add ActiveWorkbook.FullName 
    .Send 

End With 

請注意,您應該之後With olApp.CreateItem(0)行代碼把.SentOnBehalfOfName = "[email protected]"

相關問題