excel怎么批量發(fā)送郵件批量發(fā)送工資條?

每個月工資條如何發(fā)放給大家是一個頭疼的事情,因為工資涉及到保密問題,用郵件吧,每個人的郵件內容都有些不一樣的地方,人一多就特別容易出錯;光這個發(fā)工資條就夠讓人忙活好長時間的了;那么怎么能快速的發(fā)放給大家呢?下面小編就為大家介紹excel怎么批量發(fā)送郵件批量發(fā)送工資條方法,來看看吧!
方法/步驟
按照下圖整理工資明細表
1,列數可自行新增刪除;
2,如果整理的數據列,無法發(fā)送郵件的請把表頭內添加大寫字母“X”;
3,工作表名稱用作了郵件主題,發(fā)送前請修改工作表名稱;
啟用開發(fā)工具選項卡;插入命令控件;修改控件名稱及顯示名;
進入VBA編程界面;復制以下代碼到編輯窗口。
Private Sub 全自動發(fā)送郵件_Click()
'要能正確發(fā)送并需要對Microseft Outlook進行有效配置
On Error Resume Next
Dim rowCount, endRowNo, endColumnNo, sFile$, sFile1$, A&, B&
Dim objOutlook As Object
Dim objMail As MailItem
'取得當前工作表數據區(qū)行數列數
endRowNo = ActiveSheet.UsedRange.Rows.Count
endColumnNo = ActiveSheet.UsedRange.Columns.Count
'取得當前工作表的名稱,用來作為郵件主題進行發(fā)送
sFile1 = ActiveSheet.Name
'創(chuàng)建objOutlook為Outlook應用程序對象
Set objOutlook = CreateObject("Outlook.Application")
'開始循環(huán)發(fā)送電子郵件
For rowCount = 2 To endRowNo
'創(chuàng)建objMail為一個郵件對象
Set objMail = objOutlook.CreateItem(olMailItem)
With objMail
'設置收件人地址,數據源所在列數
.To = Cells(rowCount, 5)
'設置抄送人地址(從通訊錄表的'E-mail地址'字段中獲得)
'.CC = Cells(rowCount, 0)
'設置郵件主題,取值工作表名,
.Subject = sFile1
'設置郵件內容(從通訊錄表的“內容”字段中獲得)
'align 單元格文本顯示方式 left(向左)、center(居中)、right(向右),默認是center, width-寬 height-高 border 單元格線粗細,bordercolor返回或設置對象的邊框顏色
'colSpan是一種編程語言,其屬性可設置或返回表元橫跨的列數
sFile = "<tr>您好!<br> 以下是您" + sFile1 + ",請查收!</tr>"
sFile = sFile + "<table align='left' width='500' height='25' border= 1 bordercolor='#000000'> <tbody> "
sFile = sFile + "<tr> <td colspan ='4' align='center'> 工資表</td> </tr> "
B = 1
For A = 1 To endColumnNo
'數據表頭中添加“X”后將不發(fā)送此字段
If Application.WorksheetFunction.CountIf(Cells(1, A), "*X*") = 0 Then
If B = 1 Then
sFile = sFile + "<tr> <td width='20%' height='25'> " + Cells(1, A).Text + " </td> <td width='30%' height='25'> " + Cells(rowCount, A).Text + "</td>"
B = 0
Else
sFile = sFile + "<td width='20%' height='25'> " + Cells(1, A).Text + " </td> <td width='30%' height='25'> " + Cells(rowCount, A).Text + "</td> </tr>"
B = 1
End If
End If
Next
.HTMLBody = sFile
'設置附件(從通訊錄表的“附件”字段中獲得)
.Attachments.Add Cells(rowCount, 24).Value
'自動發(fā)送郵件
.Send
End With
'銷毀objMail對象
Set objMail = Nothing
Next
'銷毀objOutlook對象
Set objOutlook = Nothing
'所有電子郵件發(fā)送完成時提示
MsgBox rowCount - 2 & "個員工的工資單發(fā)送成功!"
End Sub
大功告成,測試圖如下
提示:用戶定義類型未定義異常處理辦法
處理辦法:點擊工具-引用-勾選<microsoft outlook 14.0 object library>
提示:點擊發(fā)送OUTLOOK安全提示
處理辦法:點擊文件-選項-信任中心-信任中心設置-編程訪問-勾選從不向我發(fā)出可以活動警告
提示:編程訪問無法勾選顯示灰色時
處理辦法:控制面板-用戶帳號-點擊用戶帳號-更改用戶賬戶控制設置-調到從不通知,重啟電腦,調整完畢OUTLOOK設置可以再調整回來。
注意事項
提示:發(fā)送全可以先斷網啊,點擊后再去郵箱內的發(fā)件箱看效果怎么樣,不行可以刪除重來的。
實例文檔下載地址:http://pan.baidu.com/s/1hrzNA9A
以上就是excel怎么批量發(fā)送郵件批量發(fā)送工資條方法,操作不是很難,不會的朋友可以參考本文,希望能對大家有所幫助!
推薦閱讀:在excel中如何制作漂亮的工資條?
相關文章
陽歷/農歷轉換對照表怎么做? Excel制作日歷表/萬年歷的最終版
想要制作陽歷/農歷轉換對照表,,通過這個對照表,你只需知道陽歷日期,就可以快速準確的找到對應的農歷日期,下面我們就來看看詳細制作方法2025-04-10- 工作上需要制作一個日歷表/萬年歷,該怎么制作呢?我們需要使用三個excel函數來實現,詳細請看下文介紹2025-04-10
- Excel中有一個功能非常強大的函數,它就是SUMPRODUCT函數,既能求和、計數、權重計算,還能排名等,今天我們就來看看Excel根據權重求和的技巧2025-04-10
tocol函數哪個版本能用? excel中tocol函數的兩種高級用法
TOCOL函數公式非常強大,值得一學,從字面意義可以理解出來,它是將數據轉換成一列的,今天分享TOCOL函數的2種高級用法2025-04-10Excel隱藏行和折疊行有什么不同? 隱藏行和折疊使用方法和區(qū)別介紹
excel表格進行操作的時候,發(fā)現有隱藏和和折疊行,看上去效果一樣,都隱藏了,但是兩者是有很大區(qū)別的,詳細請看下文介紹2025-03-21Excel工齡計算不再愁! Excel隱藏函數DATEDIF輕松計算精確到天級的工齡
在日常工作中,我們經常需要計算員工的工齡,以便進行人事管理、薪資調整等工作,本文將詳細介紹如何在Excel表格中計算工齡,并提供多種實用方法供您選擇2025-03-13- Excel數據處理遇到的問題,99%都是由于奇葩的數據格式造成的,今天跟大家整理了幾個Excel表格構建的規(guī)則,先不要問為什么,照著做就對了2025-03-06
Excel透視表1月到12月不能排序怎么辦? 數據透視表日期無法排序解決方法
如圖對數據透視表日期進行升序排序后,仍不是我們想要的結果,有可能月份是文本,不能排列,下面我們就來看看詳細解決辦法2025-03-06- 首先咱們得明確一下賬齡的概念,簡單來說,賬齡就是某個賬戶的余額從產生到現在的時間長度,比如,一年以內的賬齡就是那些在過去一年內產生的債權或債務,下面我們就來看看2025-03-06
實現辦公自動化! DeepSeek搭配Excel制作自定義按鈕的技巧
DeepSeek生成想要的代碼很方便,如果將生成的代碼放到excel中作為vba代碼使用,豈不是能實現辦公自動化?下面我們就來看看實現方法2025-03-05