IT Knowledge Base

~ Freedom is the right of all sentient beings ~

發佈日期:

如何利用Microsoft Excel VBA‧在Microsoft Outlook中寄出郵件(含Outlook預設簽名)

01. 繼上次解決了,用PowerPoint內VBA,結合Excel再以Outlook寄出郵件後。今天遇上另一件比較簡單既工作,就是用Excel內VBA,利用Outlook寄出用戶名稱及密碼郵件。

02. 先以While loop,取得Excel相關數據列總數量。

03. 建立Outlook object,之後直接以For loop方式,將相關數據寫入Outlook Object內。

04. 因為今次寄出電郵,需要包括Outlook signature內,所以在建立Outlook object後,必需以『.Display』先將新郵件顯示出來,以便自動加上Outlook signature。

05. 最後,以『.Close olSave』,儲存及關閉Outlook電郵。而有關電郵,便會儲存在Outlook的Draft資料夾內。

06. 整個程式如下。

Sub CreateOutlookItem()
Dim olMsg As Object
Set OlApp = CreateObject("Outlook.Application")
i = 2
While (Cells(i, 1)) <> ""
i = i + 1
Wend

For j = 2 To i - 1
Set olMsg = OlApp.CreateItem(0)
olMsg.Display
olMsg.Subject = "Your service is activated (" & Cells(j, 1) & ")"
olMsg.To = Cells(j, 5)
mail_content = "Dear " & Cells(j, 3) & "<br><br>"
mail_content = mail_content & "Login: " & Cells(j, 6) & "<br>"
mail_content = mail_content & "Password: " & Cells(j, 7) & "<br>"
mail_content = mail_content & "Extension number: " & Cells(j, 1) & "<br>"
mail_content = mail_content & "Internal call number: " & Cells(j, 2) & "<br>"
olMsg.HTMLBody = mail_content & olMsg.HTMLBody
olMsg.Close olSave
Next j
Set xlApp = Nothing
Set OlApp = Nothing
End Sub

07. 有關Outlook見到結果。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *