2016-09-29 101 views
1

我需要能夠從Excel發送電子郵件,但我希望電子郵件的正文包含來自用戶窗體的值在您按下提交後。添加用戶表單輸入到電子郵件VBA代碼到電子郵件正文

我試過不同的事情,但我堅持下面的代碼。

Dim aOutlook As Object 
Dim aEmail As Object 
Dim rngeAddresses As Range, rngeCell As Range, strRecipients As String 

Set aOutlook = CreateObject("Outlook.Application") 
Set aEmail = aOutlook.CreateItem(0) 

'set Importance 
aEmail.Importance = 2 
'Set Subject 
aEmail.Subject = "TestMailSend" 
'Set Body for mail 
aEmail.Body = "Campaign Name" & Me.ComboBox5.Value 
       "Job Number" & Me.ComboBox4.Value 
       "Revenue" & Me.ComboBox3.Value 


'send one off to 1 person use this static code 
'aEmail.Recipients.Add "[email protected]" 
aEmail.Recipients.Add "Insert email address here" 
'Send Mail 
aEmail.Send 
+0

什麼是真正的問題嗎?你的用戶表單中有代碼嗎?順便說一句,你應該使用'&'連接你的電子郵件正文的數據 – RCaetano

+0

這是問題:aEmail.Body =「廣告系列名稱」Me.ComboBox5.Value 「工作號碼」Me.ComboBox4.Value 「收入」我。 ComboBox3.Value –

+0

您是否檢查過我的答案,看它是否解決了問題? – RCaetano

回答

1

也許你應該改變如下:

'Set Body for mail 
aEmail.Body = "Campaign Name: " & Me.ComboBox5.Value & chr(10) & _ 
       "Job Number: " & Me.ComboBox4.Value & chr(10) & _ 
       "Revenue: " & Me.ComboBox3.Value 

&合併兩個數值,chr(10)增加了一個新行和_,您可以編寫多碼。

HTH;)

+0

謝謝,這已經解決了這個問題。儘管如此,這一切只有一句話。有沒有一種方法可以進行調整以使其成爲多行,以便每條記錄都顯示在自己的行上?真的很感謝你的支持。 –

+0

當然,我已經編輯;) – RCaetano

+0

這太棒了。很棒。感謝您的幫助,我希望這有助於網站。 Scott –

相關問題