|
我原来用的是OFFICE 2010
可以准确判断是否存在附件
如果没有
就不发送
但是现在换成2016之后,这句话失效了
也就是说,无论有没有附件,他都判断是1
求助
顺便附上我的代码
- Sub 群发工资邮件()
- '先通过VBA窗口"工具"菜单--"引用"选择 "Microsoft outlook 11.0 object Library
- '已在Outlook中设置可发送邮件的正常帐号
- On Error Resume Next
- Dim objOutlook As New Outlook.Application
- Dim objMail As MailItem
- Dim strbody As String
- '"创建objO为Outlook应用程序对象
- Set objO = New Outlook.Application
- '"创建objMail为一个邮件对象
- '"设置收件人地址(以下邮件的信息皆从EXCEL工件表的字段中获得)
- '"设置邮件主题
- For i = [q5] To [q6]
- [q2] = i
- Set objMail = objOutlook.CreateItem(olMailItem)
-
- strbody = Cells(2, 15)
-
- With objMail
- .To = Cells(2, 13)
- If Cells(2, 13) > 0 Then
- .Subject = Cells(2, 1)
- '.Body = Cells(2, 15)
- .HTMLBody = "<Font Face=微软雅黑 Size=4.5 color=#1F497D'>您好,</font>" & _
- "<BR><Font Face=微软雅黑 Size=3.5 color=#1F497D'>" & strbody & "</font></BR>" & _
- "<BR><Font Face=微软雅黑 Size=3.5 color=#1F497D'>请查收。</font></BR>" & _
- "<BR></BR>" & _
- "<BR></BR>" & _
- "<BR><Font Face=微软雅黑 Size=3.5 color=#1F497D'>XX室</font></BR>" '使用HTML格式的正文"
- '"设置附件
- fj = "'" + Cells(2, 14) + "'" / 为字符串字段加上引号
- .Display
- .Attachments.Add Sheets("群发").Cells(2, 14).Value
- '发送邮件
- If <font color="Red">.Attachments.Count > 0</font> Then
- .Send
- Else
- Application.SendKeys "%{F4}n"
- MsgBox Cells(2, 18) & " " & Cells(3, 16) & " 无附件,未发送"
- End If
- Else
- MsgBox Cells(2, 18) & " " & Cells(3, 16) & " 无地址,未发送"
- End If
- End With
- Set objMail = Nothing
- Next
- Set objOutlook = Nothing
- End Sub
复制代码 谢谢
|
|