首页 > 名字大全 > 游戏名字 正文
〈邮箱怎么发邮件〉QQ邮箱怎么发邮件…

时间:2023-05-07 21:39:16 阅读: 评论: 作者:佚名

如果你每天都要做报表,发给固定的收件人,你想不想只点一个按钮、立即将报表作为附件发送出去?只要你学过Excel的VBA编程,这是一件很简单的事情。

首先在报表中创建一个“邮件地址”表(当然其他名称也可以,在程序中引用这个名称即可)。收件人地址从B2开始往下加,抄送人地址从D2开始往下,密送收件人地址从F2开始往下加,G2填写主题,H2填写正文。A列、C列、E列可以填上对应的收件人姓名,但不是必须的。

密送收件人放在这里只是说明程序的使用方法,失去了密送的意义。这个收件人表也可以不需要,改为在代码中维护收件人,这是更接近实际的做法。一般初学者可以在收件人表中维护收件人信息。

B2收件人,D2抄送,F2密送,G2邮件主题,H2邮件正文

发送电子邮件代码如下:

Public Sub 发送电子邮件()

Dim OutlookApp As Ou

Dim newMail As Ou

Dim myAttachments As Ou

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 Ou

wbStr = T '指定要发送发工作簿名称字符串

Set newMail = Ou(olMailItem) '创建新邮件

With newMail

.Subject = Worksheets("邮件地址").Cells(2, 7) '设置邮件主题

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

'发送附件

Set myAttachments = newMail.Attachments

myA wbStr, olByValue, 1, "工作簿"

.To = address '收件人

.CC = addressCC '抄送

.BCC = addressBCC '密送

.Send '开始发送

End With

End Sub

请注意,要在Outlook中设置允许编程访问,具体如何设置请看我的另一篇文章“如何用Excel实现办公自动化”。否则会弹出如下对话框要你选择:

Outlook弹出的对话框

最后,添加一个加载项菜单中的按钮,链接到你编写的程序模块。点击一下按钮,即可运行程序,把你这个报表作为附件发给相关收件人。以后要发出邮件,只要点击这个按钮就可以了。

  • 相关阅读
  • 评论列表

发表评论: