使用Excel巨集來群發郵件或工資條

2021-08-25 17:24:34 字數 3203 閱讀 1984

private sub 全自動傳送郵件_click() 

'要能正確傳送並需要對microseft outlook進行有效配置

on error resume next

dim rowcount, endrowno

dim objmail as mailitem

'取得當前工作表與cells(1,1)相連的資料區行數

endrowno = cells(1, 1).currentregion.rows.count

'建立objoutlook為outlook應用程式物件

'開始迴圈傳送電子郵件

for rowcount = 3 to endrowno

'建立objmail為乙個郵件物件

set objmail = objoutlook.createitem(olmailitem) 

with objmail          '設定收件人位址(從通訊錄表的「e-mail位址」欄位中獲得)

.to = cells(rowcount, 5)        '設定抄送人位址(從通訊錄表的'e-mail位址'欄位中獲得)

'.cc = cells(rowcount, 0)

'設定郵件主題cells(1, 1)是主題所在單元格a1單元格值,cells(2, 1)是a2單元格值

.subject = cells(1, 1)

'設定郵件內容(從通訊錄表的「內容」欄位中獲得)  'align  單元格文字顯示方式 left(向左)、center(居中)、right(向右),預設是center, width-寬 height-高  border 單元格線粗細,bordercolor返回或設定物件的邊框顏色  'colspan是一種程式語言,其屬性可設定或返回表元橫跨的列數

'cells(rowcount, 2)  b列資料姓名,如果你的姓名不在b列,修改數字2,以此類推,如果用不了這麼多列可以刪除哦

.htmlbody = "你好

" + cells(rowcount, 2) + cells(rowcount, 6) + "

以下是你" + cells(1, 1) + "明細如下:" + _  "工資表    

" + _   "" + cells(2, 1) + "  

" + cells(rowcount, 1) + "

" + cells(2, 2) + "  

" + cells(rowcount, 2) + "

" + _   "" + cells(2, 3) + "  

" + cells(rowcount, 3) + "

" + cells(2, 4) + "  

" + cells(rowcount, 4) + "

" + _   "" + cells(2, 5) + "  

" + cells(rowcount, 5) + "

" + cells(2, 6) + "  

" + cells(rowcount, 6) + "

" + _   "" + (cells(2, 7)) + " 

" + str(cells(rowcount, 7)) + "

" + (cells(2, 8)) + " 

" + str(cells(rowcount, 8)) + "

" + _   "" + (cells(2, 9)) + " 

" + str(cells(rowcount, 9)) + "

" + (cells(2, 10)) + " 

" + str(cells(rowcount, 10)) + "

" + _   "" + (cells(2, 11)) + " 

" + str(cells(rowcount, 11)) + "

" + (cells(2, 12)) + " 

" + str(cells(rowcount, 12)) + "

" + _   "" + (cells(2, 13)) + " 

" + str(cells(rowcount, 13)) + "

" + (cells(2, 14)) + " 

" + str(cells(rowcount, 14)) + "

" + _   "" + (cells(2, 15)) + " 

" + str(cells(rowcount, 15)) + "

" + (cells(2, 16)) + " 

" + str(cells(rowcount, 16)) + "

" + _   "" + (cells(2, 17)) + " 

" + str(cells(rowcount, 17)) + "

" + (cells(2, 18)) + " 

" + str(cells(rowcount, 18)) + "

" + _   "" + (cells(2, 19)) + " 

" + str(cells(rowcount, 19)) + "

" + (cells(2, 20)) + " 

" + str(cells(rowcount, 20)) + "

" + _   "" + (cells(2, 21)) + " 

" + str(cells(rowcount, 21)) + "

" + (cells(2, 22)) + " 

" + str(cells(rowcount, 22)) + "

" + _   "" + (cells(2, 23)) + " 

" + str(cells(rowcount, 23)) + " "

'設定附件(從通訊錄表的「附件」欄位中獲得),沒有附件的話可以刪除此句 

.attachments.add cells(rowcount, 24).value

'自動傳送郵件

.send

end with

'銷毀objmail物件

set objmail = nothing

next

'銷毀objoutlook物件

set objoutlook = nothing

'所有電子郵件傳送完成時提示

msgbox rowcount - 3 & "個員工的工資單傳送成功!"

end sub

以上是vba巨集程式**,根據每個人的模板條進行程式修改即可適用。

如需共同**提高,可以q 聯絡我 180 3.9322

在EXCEL中利用巨集群發郵件

設定收件人位址 從通訊錄表的 e mail位址 欄位中獲得 objmail.from energy gdecc.cn objmail.to worksheets 郵箱位址 cells rowcount,2 value 設定郵件主題 objmail.subject worksheets 郵件內容 ce...

如何使用openpyxl來獲取excel中的某一列

由於execl的列都是按照 a b c 來進行排列的,不利於使用列表的方式獲取,實際上openpyxl提供了columns方法,然後生成元組的方式來產生每個列為元素的元組。更多資訊可以參考openpyxl的官方教程openpyxl。wb load workbook 檔案路徑 檔名 sheet wb....

使用QtXlsx來讀寫excel檔案

概述 qtxlsx是功能非常強大和使用非常方便的操作excel類庫。包括對excel資料讀寫 excel資料格式設定及在excel裡面根據資料生成各種圖表。下面重點介紹如何安裝和使用qtxlsx。一 獲取qtxlsx。1 通過下面位址獲取 2 得到的是包括原始碼 各種例項的檔案包。3 解壓某個盤的根...