如何在 Microsoft Word 中移動圖片
學習如何在 Word 中拖曳圖片、選擇文字環繞方式、將圖片與段落保持在一起或將其固定在頁面上,以及如何解決圖片無法移動的問題。
Excel VBA 可以產生包含收件者、主題、內文和工作簿附件的 Outlook 電子郵件。本指南共 11 步,使用經典版 Windows Outlook,並將郵件以草稿形式打開,以便您在發送前進行驗證。微軟已將 VBA 巨集和 Outlook 物件模型列為新版 Outlook 不支援的功能,因此本範例基於 COM,無法在新版 Outlook 或瀏覽器中使用 Outlook。
在開始之前,請儲存您的工作並確認已安裝經典版 Outlook 並配置了電子郵件帳戶。程式碼使用後期綁定,因此您無需新增特定版本的 Outlook 庫引用。
開啟桌面版 Outlook,並確保其信箱可以傳送郵件。此巨集需要經典版 Outlook for Windows;Outlook.com 標籤頁、Outlook 網頁版和新版 Outlook 皆不提供此處使用的 COM 自動化物件。請參閱 Microsoft 的經典版和新版 Outlook 功能比較。

在 Excel 中,選擇「檔案」>「另存為」,然後選擇「啟用巨集的 Excel 工作簿 (*.xlsm)」。普通的 .xlsx 檔案無法保留 VBA 程式碼。將工作簿儲存到您可以存取並記住其路徑的位置。

在 Excel 桌面應用程式中開啟工作簿後,按Alt+F11。在「專案資源管理器」中,找到名稱與工作簿相符的項目。如果編輯器處於隱藏狀態,請按 Ctrl+R 顯示「專案資源管理器」。

在 Visual Basic 編輯器中,選擇工作簿項目,選擇「插入」>「模組」,然後使用新程式碼窗格。標準模組適合放置按需運行的巨集。

將此過程貼到模組中。它會檢查工作簿是否已儲存,驗證附件路徑,建立 Outlook 郵件,並將其顯示出來但不傳送。

Option Explicit
Sub CreateOutlookDraft()
Dim olApp As Object
Dim olMail As Object
Dim attachmentPath As String
If Len(ThisWorkbook.Path) = 0 Then
MsgBox "Save the workbook before creating the email.", vbExclamation
Exit Sub
End If
attachmentPath = ThisWorkbook.FullName
If Len(Dir$(attachmentPath)) = 0 Then
MsgBox "Workbook attachment not found: " & attachmentPath, vbExclamation
Exit Sub
End If
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
If olApp Is Nothing Then
Set olApp = CreateObject("Outlook.Application")
End If
On Error GoTo 0
If olApp Is Nothing Then
MsgBox "Classic Outlook could not be opened.", vbExclamation
Exit Sub
End If
Set olMail = olApp.CreateItem(0)
With olMail
.To = "recipient@example.com"
.CC = ""
.Subject = "Monthly report"
.Body = "Hi," & vbCrLf & vbCrLf & _
"Please review the attached monthly report." & _
vbCrLf & vbCrLf & "Thanks,"
.Attachments.Add attachmentPath
.Display
End With
Set olMail = Nothing
Set olApp = Nothing
End Sub
數字參數0用於建立標準郵件項目。 Microsoft 文件中提到了 Application.CreateItem、Attachments.Add和MailItem.Display。
更改recipient@example.com為預期收件人。.CC如有需要,請新增地址,然後編輯.Subject文字.Body。文字值需用引號括起來,並使用 `<br>`&標籤連接行vbCrLf。範例使用純文字訊息,無需 HTML 格式。

依照目前的寫法,此方法ThisWorkbook.FullName會附加已儲存的啟用巨集的工作簿本身。如果您想要附加單獨的報表,請將該賦值替換為其完整的檔案路徑,例如 `/var/login/report/` "C:\Reports\MonthlyReport.xlsx"。運行巨集之前,請確認檔案存在且可存取。此Attachments.Add方法會將文件附加到郵件中。

在編輯器中按Ctrl+S儲存,或切換回 Excel 並儲存工作簿。請保留 .xlsm 格式;另存為 .xlsx 會刪除 VBA 項目。將檔案儲存在您信任的位置,並且不要在來自未知來源的工作簿中啟用巨集。

點選文字方塊內部CreateOutlookDraft並按F5 鍵,或使用編輯器的「執行」指令。如果 Excel 阻止了巨集,請遵循您所在組織的策略。微軟指出,Office 預設會阻止標記為來自 Internet 的檔案中的巨集;請閱讀其巨集安全指南,而不是全域關閉保護功能。

Outlook 應自動開啟一封郵件,郵件地址、主題、內文和工作簿附件均已填寫完畢。請核實每位收件人,並在必要時開啟附件。僅在檢查草稿後,才可點選 Outlook 的「傳送」.Display按鈕。程式碼刻意使用`<email>` 而非 `<email>` .Send,以防止自動發送拼字錯誤或過期的檔案。


此工作流程適用於您在經典版 Outlook 中審查並傳送的郵件。對於重複發送或無人值守的商務郵件,請使用組織認可的自動化服務,並單獨驗證收件者、附件和權限。

學習如何在 Word 中拖曳圖片、選擇文字環繞方式、將圖片與段落保持在一起或將其固定在頁面上,以及如何解決圖片無法移動的問題。
學習如何使用儲存格內工具在 Excel 中插入複選框,使用公式計算選取項目的數量,或在舊版桌面 Excel 中新增連結的表單控制項。
使用填充柄公式、SEQUENCE 或可重複使用的自訂清單在 Excel 中產生 A 到 Z、小寫字母或 Z 以上的標籤。
學習如何在 Windows、Mac 和網頁版 Excel 中新增刪除線、設定儲存格部分格式以及刪除線條而不刪除其值。
Microsoft Access 是一款 Windows 資料庫應用程序,用於儲存相關記錄、建立查詢、建立資料輸入表單和產生報表。了解它的工作原理以及適用場景。
了解如何在 Word 2010 中調整網格線高度和寬度、變更可見線頻率以及設定底層水平和垂直繪圖網格間距。
了解如何將 PST 檔案匯入 Outlook 2010 或匯出郵件、聯絡人、行事曆和任務。按照正確的選單操作,避免遺漏資料夾或重複文件。
使用 Kernel 的目前步驟還原忘記的 Outlook PST 密碼,包括如何識別正確的檔案、進行備份以及檢查工具的限制。
使用 LiveWeb 外掛程式將網站放置在 PowerPoint 投影片上,設定其大小和刷新行為,並在簡報前檢查相容性。
在 Word 2010 中設定預設字體、字號和文字效果,將選擇儲存到 Normal.dotm,然後修改 Normal 樣式以用於以後的文件。
阿慶 -
我之前有使用過 VBA,但對於發送郵件這部分還不是很懂,這篇文章真是太幫助我了!
志明 -
這篇文章真是給了我靈感,我也想寫一個程式來自動發送郵件,覺得很有挑戰性!
小琪 -
我想知道發送郵件的速度快不快?有沒有什麼影響因素呢
海棠 -
感謝這篇文章,真的讓我對 VBA 有了全新的理解,對於發送郵件的步驟講解得非常清楚!
小風 -
我之前用 VBA 發發資訊給客戶,但一直不順手,希望這次能學得更好
阿偉 -
有沒有推薦的資源可以深入學習 VBA 呢?我想要更專業一點的知識
子君 -
從這篇文章學到很多,尤其是錯誤處理的部分,這對我來說非常重要
小白 -
這篇文章寫得真不錯!剛好我最近也想學習使用 VBA 發送電子郵件,感謝提供的11個步驟,非常詳細
金妮 -
使用 VBA 發送郵件的過程一定要小心使用 SMTP 的設置,不然會出現錯誤
天下無敵 -
哈哈,這樣的學習方式真的讓我感到興奮!希望快點能動手做
小偉 -
我有一個問題,發送郵件的過程中如果出現錯誤,應該如何處理呢
小花 -
使用 VBA 自動發送電子郵件的功能真的很實用,我已經試著將這個方法應用到我的工作中了
王小華 -
這篇中包含的11個步驟是否能適用於不同版本的 Excel?我現在用的是 Excel 2016
莉莉 -
這篇文章讓我想起我曾經嘗試用 VBA 做一個自動化報告,卻沒有成功!現在我想再試一次
阿龍 -
這篇文章很實用,我學會了如何使用 VBA 發送郵件,真的省去了很多麻煩
雅婷 -
謝謝你的分享!我一直在尋找這方面的資料,這下終於找到適合的學習資源了
小莉 -
我在實作的時候遇到了一些問題,誰能幫我一下嗎?謝謝大伙
小妍 -
對於初學者來說,這篇文章是否有配合的影片教學呢?我會比較容易理解。
小艾 -
感謝分享!我會把這些步驟記下來,準備開始實踐了,每天都想學習新技能!
小霞 -
看到這篇文章,我心裡超開心的,簡直是意外驚喜
慶慶 -
我最近越來越喜歡 VBA 發送郵件,省掉了很多手動的麻煩,真棒
子嫻 -
學習了這個知識點,未來在工作中一定會派上用場,謝謝作者的努力!
林樺 -
很好奇作者是如何發現這些方法的?是否有什麼特別的學習經歷?
米莉 -
學會這個真的是一大收穫!未來我也可以自動化發送報告,省時省力
小貓咪 -
哈哈,學了這個功能讓我工作時忍不住想發一些好玩的郵件給同事!
小明 -
我想請教,這11個步驟裡面,有哪個步驟是最容易出錯的呢?謝謝
小麥 -
感謝分享,生活中學會用 VBA 發送郵件,真的讓我多了很多時間去做別的事
小真 -
這篇文章的步驟真的是簡單易懂,對我這個平常不碰程式的人來說,真的超級友好!
文潔 -
學會了這個技巧,感覺生活都變得更簡單了!謝謝這篇文章
小俊 -
我覺得這篇文章指導得很好,我會分享給我的朋友們,讓他們也學習使用 VBA!
小草 -
我第一次嘗試用 VBA 寫郵件程式,感覺好有成就感!希望能有更多範例可以學習
文婷 -
學會用 VBA 發送電子郵件太棒了!我常常需要發送報告,這簡化了我的工作流程
小羽 -
分享一下我的經驗,我最近用 VBA 發送郵件成功了,也幫同事完成了相同的功能,大家都很滿意
小如 -
想問一下,使用 VBA 發送郵件的最佳實踐有哪些,大家有沒有建議?
張敏 -
真的很開心我找到這篇文章,這是我學習 VBA 的起點!感謝你的分享
阿翰 -
有沒有人曾經使用這個功能遭遇過什麼問題?我想了解一下大家的經驗
阿強 -
如果在公司內部發送郵件,是否需要考慮網路安全性呢?這方面應該如何注意
阿德 -
希望能看到更多關於 VBA 的應用教學,這篇開了我的眼界,感謝