tft每日頭條

 > 科技

 > excelvba編程代碼使用方法

excelvba編程代碼使用方法

科技 更新时间:2025-06-19 22:14:38

如果你每天都要做報表,發給固定的收件人,你想不想隻點一個按鈕、立即将報表作為附件發送出去?隻要你學過Excel的VBA編程,這是一件很簡單的事情。

首先在報表中創建一個“郵件地址”表(當然其他名稱也可以,在程序中引用這個名稱即可)。收件人地址從B2開始往下加,抄送人地址從D2開始往下,密送收件人地址從F2開始往下加,G2填寫主題,H2填寫正文。A列、C列、E列可以填上對應的收件人姓名,但不是必須的。

密送收件人放在這裡隻是說明程序的使用方法,失去了密送的意義。這個收件人表也可以不需要,改為在代碼中維護收件人,這是更接近實際的做法。一般初學者可以在收件人表中維護收件人信息。

excelvba編程代碼使用方法(用ExcelVBA編程快速發送郵件)1

B2收件人,D2抄送,F2密送,G2郵件主題,H2郵件正文

發送電子郵件代碼如下:

Public Sub 發送電子郵件()

Dim OutlookApp As Outlook.Application

Dim newMail As Outlook.mailitem

Dim myAttachments As Outlook.Attachments

Dim n As Integer, i As Integer

Dim ws As Worksheet

On Error Resume Next

Set ws = Worksheets("郵件地址")

n = ws.Range("B65536").End(xlUp).Row

address = Worksheets("郵件地址").Cells(2, 2)

For i = 2 To n

If i < n Then

address = address & ";" & Worksheets("郵件地址").Cells(i 1, 2)

End If

Next i

'CC

n = ws.Range("D65536").End(xlUp).Row

addressCC = Worksheets("郵件地址").Cells(2, 4)

For i = 2 To n

If i < n Then

addressCC = addressCC & ";" & Worksheets("郵件地址").Cells(i 1, 4)

End If

Next i

'BCC

n = ws.Range("F65536").End(xlUp).Row

addressBCC = Worksheets("郵件地址").Cells(2, 6)

For i = 2 To n

If i < n Then

addressBCC = addressBCC & ";" & Worksheets("郵件地址").Cells(i 1, 6)

End If

Next i

Set OutlookApp = New Outlook.Application

wbStr = ThisWorkbook.FullName '指定要發送發工作簿名稱字符串

Set newMail = OutlookApp.CreateItem(olMailItem) '創建新郵件

With newMail

.Subject = Worksheets("郵件地址").Cells(2, 7) '設置郵件主題

.Body = Worksheets("郵件地址").Cells(2, 8) '設置郵件正文

'發送附件

Set myAttachments = newMail.Attachments

myAttachments.Add wbStr, olByValue, 1, "工作簿"

.To = address '收件人

.CC = addressCC '抄送

.BCC = addressBCC '密送

.Send '開始發送

End With

End Sub

請注意,要在Outlook中設置允許編程訪問,具體如何設置請看我的另一篇文章“如何用Excel實現辦公自動化”。否則會彈出如下對話框要你選擇:

excelvba編程代碼使用方法(用ExcelVBA編程快速發送郵件)2

Outlook彈出的對話框

最後,添加一個加載項菜單中的按鈕,鍊接到你編寫的程序模塊。點擊一下按鈕,即可運行程序,把你這個報表作為附件發給相關收件人。以後要發出郵件,隻要點擊這個按鈕就可以了。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved