實(shí)際工作中經(jīng)常會(huì)遇到批量發(fā)郵件的需求,比如發(fā)送工資條、節(jié)日祝福、定期匯報(bào)工作成果、日?qǐng)?bào)、周報(bào)、月報(bào)等,當(dāng)然如果發(fā)送的郵件不是很多的話完全可以手工發(fā)送,一旦遇到批量發(fā)送的場(chǎng)景,手工一份一份的發(fā)送就會(huì)變得機(jī)械而重復(fù)勞動(dòng)了。今天分享一個(gè)Excel調(diào)用電腦OutLook批量發(fā)送郵件的技巧,小伙伴們可以,先收藏,等要用到的時(shí)候可以有備無患,從容應(yīng)對(duì),別人加班的時(shí)候你還可以準(zhǔn)點(diǎn)下班,那豈不是很樂哉!
一、先看看我們需要實(shí)現(xiàn)的效果。

發(fā)郵件跟寫公式一樣簡(jiǎn)單^-^
二、怎樣才可以實(shí)現(xiàn)?
原理:通過VBA定義一個(gè)發(fā)郵件的函數(shù),達(dá)到批量發(fā)送郵件時(shí)跟普通公式的用法一樣簡(jiǎn)單的效果。
上面的效果圖中我們定義了一個(gè)sendmail的函數(shù),如果你現(xiàn)在打開你的excel找這個(gè)函數(shù)是找不到的,因?yàn)檫@個(gè)并不是office的內(nèi)置函數(shù),但微軟給office產(chǎn)品都安裝了一個(gè)神技能 “宏”,表親們應(yīng)該都聽過這個(gè),這次咱先不去追究這到底是什么東西,先看如何實(shí)現(xiàn)。
具體步驟:
- 新建一個(gè)空白的Excel文件。
- 打開Excel文件,按快捷鍵ALT+F11進(jìn)入VBE界面。
- 點(diǎn)擊左邊的工程窗口,點(diǎn)擊鼠標(biāo)右鍵,新建一個(gè)模塊。
- 把代碼貼入到模塊中。
- 回到Excel界面,開始驗(yàn)證發(fā)郵件函數(shù)。
- 上面文字沒看懂的請(qǐng)看下面的演示。


三、發(fā)郵件的VBA代碼。
感興趣的童鞋們可以復(fù)制以下代碼按上面的操作試一試。
'發(fā)送郵件函數(shù) sendto收件人多個(gè)用英文分號(hào)鏈接 subj郵件主題 mbody郵件正文 filepath附件路徑 Public Function sendmail(sendto As String, subj As String, mbody As String, filepath As String) On Error Resume Next Dim oLApp As Object Dim oItem As Object Set oLapp = CreateObject("Outlook.application") Set oItem = oLapp.createitem(0) With oItem .Subject = subj .To = sendto .htmlbody = mbody '加上這一句就可以添加附件 .Attachments.Add filepath .Send '判斷是否發(fā)送成功 If Err.Number = 0 Then sendmail = "發(fā)送成功" Else '如果發(fā)送失敗則返回失敗原因 sendmail = "發(fā)送失敗:" & Err.Description End If End With Set oLapp = Nothing Set oItem = Nothing End Function
四、保存我們定義的郵件函數(shù)。
- 如果你的Excel是2007及以上版本的,保存的時(shí)候會(huì)出現(xiàn)如下提示。
- 保存時(shí)請(qǐng)選擇啟用宏的工作簿即可。


補(bǔ)充說明:
2007版本及以上的Excel為了保證安全性,強(qiáng)制了含VBA代碼的專用文件格,常用存為xlsm格式。
2003版本的Excel,后綴是xls的Excel文件可以直接存儲(chǔ)VBA代碼,不需要另存為其他格式。
如有疑問歡迎小伙伴們點(diǎn)關(guān)注,共同探討學(xué)習(xí)。
