2017-08-04 58 views
1

我被這個問題困住了,我已經嘗試了很多東西,但沒有工作。 我想發送電子郵件與這個宏,我可以發送電子郵件,但電子郵件正文不包括稱爲「許可證」的變量值。我有columnC上的許可證列表,columnG上的郵件列表E和剩餘列表上的列表。當我運行這個宏電子郵件是完美的,但許可證不與身體附加,我想發送每個許可證到電子郵件下一行。任何幫助?VBA如何將變量插入到電子郵件的正文中

Sub SendReminderMail() 
Dim OutLookApp As Object 
Dim OutLookMailItem As Object 
Dim iCounter As Integer 
Dim MailDest As String 

Cells(iCounter & "C").Select 
Dim permit As String 
permit = Cells(iCounter & "C").Value 

Set OutLookApp = CreateObject("Outlook.application") 
Set OutLookMailItem = OutLookApp.CreateItem(0) 
With OutLookMailItem 
    MailDest = "" 
     For iCounter = 2 To WorksheetFunction.CountA(Columns(5)) 
      If MailDest = "" And Cells(iCounter, 5).Offset(0, 2) = "Send Reminder" Then 
      MailDest = Cells(iCounter, 5).Value 
       ElseIf MailDest <> "" And Cells(iCounter, 5).Offset(0, 2) = "Send Reminder" Then 
      MailDest = MailDest & ";" & Cells(iCounter, 5).Value 
      End If 
Next iCounter 
    .BCC = MailDest 
    .Subject = "Soon to Expire" 


    .Body = "Reminder: Your Permit is about to expire Permit#" & permit 
'here is the part where i want my permit variables to attach 

    .Send 
End With 
Set OutLookMailItem = Nothing 
Set OutLookApp = Nothing 
End Sub 
+0

代碼正確,在'permit'設置好後立即設置一個斷點,並檢查它的值。您可能有錯誤的工作表,因爲您沒有完全限定您的單元格引用。 – braX

+0

事實上,你根本不需要'.Select' ...只是更新這一行......'permit = Cells(iCounter,「C」)。Value' – braX

+0

@braX,非常感謝你的幫助,我剛剛嘗試過,但它顯示了另一個錯誤。運行時錯誤'287':應用程序定義或對象定義的錯誤,錯誤引用'.Send'行。任何想法? –

回答

0

使用

permit = Cells(iCounter, "C").Value

permit = Range("C" & iCounter).Value

看到細微的差別?

+0

我剛剛那樣做,並修復了錯誤。現在它根本不發送電子郵件。 –

+0

這是一個完全獨立的問題。 https://social.msdn.microsoft.com/Forums/office/en-US/ecce7b2a-8e4c-4e2e-b2e4-ad95f006d808/runtime-error-287-applicationdefined-or-objectdefined-error?forum=accessdev – braX

相關問題