如何在 Outlook 2016 和 2019 郵件中編寫有用的宏?

如何在 Outlook 2016 和 2019 郵件中編寫有用的宏?

在 Microsoft Office 中,我們使用 Visual Basic for Applications (VBA) 創建自定義程序,以增強 Office 的基本功能並通過自動執行重複性任務來幫助節省時間。我們將這些小型 VBA 程序稱為

在本教程中,我們希望提供 Web 上最完整的 Outlook 宏開發資源。我們將專注於為初學者探索 Outlook VBA 的基礎知識,學習編寫宏,然後研究一些更高級的有用宏的想法。根據我們得到的反饋,在完成本教程之後,您應該能夠為 Outlook 開發和運行簡單的 VBA 宏。

  • 首先是基礎知識:我們將學習如何將簡單的自定義 VBA 宏插入並保存到活動的 Outlook 會話中。
  • 然後我們將在我們的計算機中設置宏開發環境。
  • 我們將介紹 Outlook VBA 的最基本示例。這將幫助您掌握宏開發基礎知識並允許您編寫簡單的宏。
  • 接下來,我們將繼續在快速訪問工具欄中為我們的宏定義一個快捷方式圖標。這將允許我們輕鬆運行宏。
  • 最後,我們將啟用 Outlook 宏並處理它們的安全設置,以確保代碼在我們的計算機出現提示時實際運行。

我可以錄製 Outlook 宏嗎?

與其他 Office 應用程序不同,Outlook提供簡單的宏記錄器來捕獲用戶操作並在後台為我們自動生成所需的 VBA 代碼。因此,如果我們想將我們自己的自定義功能添加到 Outlook,我們將需要學習編寫簡單的 VBA 程序並將它們合併到我們的 Outlook 會話中。

注意:如果您有興趣了解 Office 宏記錄器的實際工作原理,我建議您查看MS Word 宏Excel VBA 宏教程

在 Outlook 中編寫 VBA 宏

  1. 首先,打開 Microsoft Outlook。
  2. 現在,繼續點擊Alt 按鈕 + F11
  3. 將打開 VBA 開發人員集成開發環境 (IDE)。
  4. 展開項目樹,直到出現ThisOutlookSession節點。
  5. 右鍵單擊ThisOutlookSession,然後單擊Insert
  6. 您現在將插入一個 Visual Basic 模塊。為此,請繼續並選擇Module
  7. 將您的 VBA 代碼粘貼到模塊窗口中。
  8. 點擊File然後選擇Save
  9. 繼續並關閉開發人員環境。這將使您回到 Outlook 用戶界面。

注意:請繼續閱讀一些簡單的代碼示例,以幫助您開始使用 VBA。永遠不要從未知資源中復制 VBA 代碼。

如何在 Outlook 中設置開發人員選項卡?

如果您將經常開發 Outlook 宏,您可能需要設置您的 Office 開發環境。聽起來是不是很花哨?其實這是一個相當簡單的程序。請繼續閱讀以了解詳細信息:

  1. 打開Outlook,右鍵單擊功能區上方選擇自定義功能區

如何在 Outlook 2016 和 2019 郵件中編寫有用的宏?

  1. 檢查Developer條目並點擊OK

如何在 Outlook 2016 和 2019 郵件中編寫有用的宏?

  1. 現在您將在功能區中找到開發人員菜單。

有用的 Outlook VBA 示例

創建電子郵件

這個簡單的片段以編程方式創建一個新的電子郵件項目。

該腳本首先創建一個 Outlook 郵件項目,然後設置收件人、主題、正文和抄送字段。最後,它會在 Outlook 中顯示消息,以便您可以手動查看和發送。

Public Sub CreateMail() Dim MyEmail As MailItem ' Create a new Outlook message item programatically Set MyEmail = Application.CreateItem(olMailItem) 'Set your new message to, subject, body text and cc fields. With MyEmail .To = "[email protected]" .Subject = "Insert your message subject here" .Body = "Insert your email text body here" .CC = "[email protected]" End With MyEmail.Display End Sub

高級說明:在使用 VBA 定義新電子郵件時,您可以使用預定義的 Outlook 模板。為此,您需要利用 CreateItemFromTemplate 方法並指定 Outlook 模板文件的位置 (* .oft )。

以編程方式發送電子郵件

如果您希望 Outlook 自動發送您剛剛創建的電子郵件,您可以將以下行添加到上面發布的代碼中。將以下行粘貼到上一個代碼段的End Sub語句之前。

MyEmail.Send

將文件附加到電子郵件

在許多情況下,您希望自動發送附有文件的電子郵件。這可以是 Word 文檔、Excel 電子表格、Powerpoint 演示文稿、PDF 文檔等。如果您想以編程方式發送帶有附件的電子郵件,請使用以下代碼:

#VBA Code Dim MyEmail As MailItem ' Create a new Outlook message item programatically Set MyEmail = Application.CreateItem(olMailItem) 'Define your attachment folder path and file name - modify this part as needed Dim AttachFolder, AttachFile As String AttachFolder = "C:\" AttachFile = "test.txt" 'Set your new message to, subject, body text and cc fields. With MyEmail .To = "recipient@my_server.com; mysecondrecipient@my_server.com" .Subject = "This is your message subject" .Body = "Insert your email text body here" .CC = "cc@my_server.com" .Attachments.Add AttachFolder & AttachFile End With MyEmail.Display End Sub

筆記:

  • 請確保在代碼段中設置正確的路徑和附件文件名。
  • 在此示例中,我為電子郵件設置了多個收件人,請根據需要進行調整。

使用 VBA 創建任務

以下代碼段創建一個 Outlook 任務,將其分配給另一個人並設置任務主題和正文。

Public Sub CreateTask() Dim MyTask As TaskItem ' Create a new Outlook task Set MyTask = Application.CreateItem(olTaskItem) 'Set your new task recipients and information fields With MyTask .Assign .Recipients.Add "taskrecipient@my_server.com" .Subject = "This is your task subject" .Body = "Insert a thorough explanation of your task here." End With MyTask.Display End Sub

另存為 HTML

很少有讀者詢問如何自動將電子郵件保存為 HTML。下面的代碼正是完成了這一點。

Public Sub SaveAsHTML() On Error Resume Next Dim MyWindow As Outlook.Inspector Dim MyItem As MailItem Dim FilePath As String FilePath = Environ("HOMEPATH") & "\Documents\" & "\" Dim ItemName As String Set MyWindow = Application.ActiveInspector If TypeName(MyWindow) = "Nothing" Then MsgBox ("Kindly open an email to save") Else Set MyItem = MyWindow.CurrentItem ItemName = MyItem.Subject ' File name will be identical to the message subject With MyItem .SaveAs FilePath & ItemName & ".html", olHTML End With End If End Sub

注意:確保僅在 Outlook 中打開的電子郵件(不在收件箱/資源管理器視圖中)上啟動此代碼。

Outlook 宏相關問題

宏存儲在 Outlook 中的什麼位置?

您可能正在徘徊您使用的宏的確切存儲位置。嗯,不像在 Excel 中,例如,它允許您將宏存儲在個人.xlb 文件或特定電子表格中;所有 Microsoft Outlook 宏都存儲在文件系統中的一個全局文件中。具體來說,存儲所有宏的文件名為 VBAProject.otm。該文件位於:C:\users\\AppData\Roaming\Microsoft\Outlook。

Outlook 宏的快捷按鈕

我們的下一步是插入一個小的快捷按鈕,這將使我們能夠輕鬆地運行宏。為簡單起見,我們將此按鈕插入快速訪問工具欄。

  1. 打開 Microsoft Outlook(如果尚未打開)。
  2. 右鍵單擊上方的 Outlook功能區,然後選擇自定義快速訪問工具欄

如何在 Outlook 2016 和 2019 郵件中編寫有用的宏?

       注意:您可以使用類似的過程將圖標放置在功能區本身而不是快速訪問工具欄中。

  1. 點擊“選擇命令”組合框並選擇

如何在 Outlook 2016 和 2019 郵件中編寫有用的宏?

  1. 選擇您剛剛創建的宏並點擊Add

如何在 Outlook 2016 和 2019 郵件中編寫有用的宏?

  1. 點擊修改為您的快速訪問工具欄按鈕定義自定義圖標圖片。

如何在 Outlook 2016 和 2019 郵件中編寫有用的宏?

  1. 完成後,點擊確定。

如何在 Outlook 中啟用宏?

此步驟是可選的,僅當您在運行新創建的宏時收到錯誤消息時才應執行此步驟。

  1. 接下來是允許 Outlook 運行我們的 VBA 宏。默認情況下,Microsoft Office 禁用宏並且不允許它們;因此我們需要定義適當的宏安全性以允許您的自定義 Outlook 宏運行。
  2. 在 Outlook 2016 中,單擊功能區中的Developer並選擇Macro security

如何在 Outlook 2016 和 2019 郵件中編寫有用的宏?

  1. 選擇您的宏安全設置。
    1. 在 Outlook 2016 中:選擇僅數字簽名宏的通知、所有其他禁用的宏或所有宏的通知
    2. 在 Outlook 2019 中:選擇 Disable All Macros with Notification。這將在您的宏運行之前發布一條警告消息,要求用戶批准。
  2. 設置宏安全設置後,點擊OK

注意:您當前的安全設置可能會阻止宏在 Outlook 中運行。這是有關在 Outlook 宏項目中禁用宏時如何進行的教程。

如何使用 Outlook 宏?

最後但同樣重要的是,現在是時候運行新創建的宏了。

  1. 導航到快速訪問工具欄(屏幕的左上角 - 略高於主菜單)。
  2. 點擊您分配給宏的圖標。
  3. 瞧,您剛剛完成並運行了您的(第一個)Outlook VBA 宏!

其他 Outlook 宏的想法

我們的一些讀者詢問我們是否可以為 Outlook 自動化指定進一步的想法。這裡有幾個開始。

  1. 自動將傳入郵件中的附件保存到特定文件夾中。
  2. 從 CSV 文件中讀取約會條目列表,並在一個或多個日曆中自動創建約會。
  3. 從收到的電子郵件中自動創建任務/會議/聯繫人。
  4. 可視化與會者對一組重複會議的響應狀態。
  5. 從 Excel、Word 或 Access 發送 Outlook 電子郵件。
  6. 將特定 Outlook 文件夾中的所有附件下載到您的計算機中。如果您的 Outlook 帳戶空間有限,您可以使用此宏專門將大型附件(例如超過 5Mb)下載到您的磁盤,而不是在 Outlook 中管理它們。
  7. 將 Outlook 聯繫人直接導出到 Access 數據庫中。請注意,產品中可以將聯繫人導出到 CSV。
  8. 自動更新個人或定期約會的會議信息。

下一步

為巨集建立快捷方式

為您的巨集建立快捷方式,以便您將來可以輕鬆存取它們。若要建立巨集快捷方式:

  • 開啟 Outlook 頂部的 快速存取工具列 。
  • 點選 更多指令
  • 在「從下列位置選擇指令」下拉清單中,選擇 巨集
  • 選擇您想要作為快捷方式的宏,然後點擊 新增 按鈕。
  • 點選 確定
  • 您的巨集捷徑將會出現在快速存取工具列旁邊。

如果您想從工具列中刪除此快捷方式,只需右鍵單擊它並選擇 從快速存取工具列中刪除即可。從快速存取工具列中刪除。一個>

這是尋找現有巨集的另一種方法:

  • 點選 開發者 標籤。
  • 點選 巨集
  • 選擇您要使用的巨集。

如何編輯巨集設定

若要變更或編輯 Outlook 巨集設定:

  • 點選 開發者 標籤。
  • 點選 巨集安全性

從這裡,您可以選擇:

  • 禁用所有巨集而不通知
  • 啟用數位簽章巨集的通知並停用所有其他宏
  • 開啟所有巨集的通知
  • 啟用所有巨集(不建議)
  • 將巨集安全設定套用至已安裝的加載項

如何在 Microsoft Outlook.com 365 中創建電子郵件模板?

如何在 Microsoft Outlook.com 365 中創建電子郵件模板?

如何在 Microsoft Outlook.com 365 中創建電子郵件模板?

如何修改Word中的項目符號顏色?

如何修改Word中的項目符號顏色?

在這篇文章中,您將學習如何在 Excel、PowerPoint 和 Word 365/2016/2019 中修改項目符號列表/點的顏色和大小。

在 Outlook 2016 和 2019 中停止和刪除重複的電子郵件

在 Outlook 2016 和 2019 中停止和刪除重複的電子郵件

您的郵箱是否因重複的電子郵件條目而雜亂無章?了解如何在 MAC 和 Windows 中的 Outlook 365 / 2019 / 2016 郵箱中停止接收和刪除冗餘郵件。

如何在 Outlook 2016 / 2019 電子郵件正文或簽名中添加 gif 圖像?

如何在 Outlook 2016 / 2019 電子郵件正文或簽名中添加 gif 圖像?

了解如何在 Outlook 2016 和 2019 外發電子郵件中添加/嵌入和發送 gif 圖像。

當 Outlook 收件箱郵件未自動更新時,如何刷新它?

當 Outlook 收件箱郵件未自動更新時,如何刷新它?

Outlook收件箱不自動更新?了解如何自動刷新 Outlook 365 / 2019 / 2016 / 2013 收件箱。

阻止 Outlook 365 / 2019 / 2016 的會議和約會日曆通知彈出

阻止 Outlook 365 / 2019 / 2016 的會議和約會日曆通知彈出

了解如何在 Windows 和 MAC 上禁用 Outlook 2016 / 2019 日曆中的提醒和通知。

如何使用 VBA 在 Outlook 中發送電子郵件?

如何使用 VBA 在 Outlook 中發送電子郵件?

學習編寫 Outlook 宏來自動發送電子郵件。

為什麼 Outlook 脫機或斷開連接以及如何重新連接?

為什麼 Outlook 脫機或斷開連接以及如何重新連接?

了解如何診斷和解決 Windows 10 中不同的 Microsoft Outlook 客戶端斷開連接問題。

Outlook 表單:如何在 Microsoft Office 2016 / 2019 中創建可填寫的表單?

Outlook 表單:如何在 Microsoft Office 2016 / 2019 中創建可填寫的表單?

了解如何設計和創建 Outlook 自定義用戶表單。

如何讓 Microsoft Outlook 運行得更快(版本 2019 / 365/ 2016)?

如何讓 Microsoft Outlook 運行得更快(版本 2019 / 365/ 2016)?

了解如何提高 Outlook 性能。