當前位置:科普知識站>IT科技>

如何用EXCEL|批量傳送郵件批量傳送工資條

IT科技 閱讀(1.8W)
如何用EXCEL 批量傳送郵件批量傳送工資條呢?接下來為大家介紹一下

方法

開啟要傳送的工資

如何用EXCEL 批量傳送郵件批量傳送工資條

啟用開發工具

如何用EXCEL 批量傳送郵件批量傳送工資條 第2張

點選【插入】

如何用EXCEL 批量傳送郵件批量傳送工資條 第3張

選擇【命令控制元件】

如何用EXCEL 批量傳送郵件批量傳送工資條 第4張

點選【右鍵】,選擇【屬性】

如何用EXCEL 批量傳送郵件批量傳送工資條 第5張

雙擊圖中區域進入VBA程式設計介面

如何用EXCEL 批量傳送郵件批量傳送工資條 第6張

如何用EXCEL 批量傳送郵件批量傳送工資條 第7張

【輸入】Private Sub CommandButton1_Click()
'要能正確傳送並需要對Microseft Outlook進行有效配置
On Error Resume Next
Dim rowCount, endRowNo, endColumnNo, sFile$, sFile1$, A&, B&
Dim objOutlook As Object
Dim objMail As MailItem
'取得當前工作表資料區行數列數
endRowNo = ActiveSheet.UsedRange.Rows.Count
endColumnNo = ActiveSheet.UsedRange.Columns.Count

'取得當前工作表的名稱,用來作為郵件主題進行傳送
sFile1 = ActiveSheet.Name
'建立objOutlook為Outlook應用程式物件
Set objOutlook = CreateObject("Outlook.Application")

'開始迴圈傳送電子郵件
For rowCount = 2 To endRowNo
'建立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”後將不傳送此欄位
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> <tdwidth='30%' height='25'> " + Cells(rowCount, A).Text + "</td>"
B = 0

Else
sFile = sFile + "<td width='20%' height='25'> " + Cells(1, A).Text + " </td> <tdwidth='30%' height='25'> " + Cells(rowCount, A).Text + "</td> </tr>"
B = 1
End If
End If
Next

.HTMLBody = sFile


'設定附件(從通訊錄表的“附件”欄位中獲得)
.Attachments.Add Cells(rowCount, 24).Value
'自動傳送郵件
.Send
End With

'銷燬objMail物件
Set objMail = Nothing
Next
'銷燬objOutlook物件
Set objOutlook = Nothing
'所有電子郵件傳送完成時提示
MsgBox rowCount - 2 & "個員工的工資單傳送成功!"

End Sub

如何用EXCEL 批量傳送郵件批量傳送工資條 第8張