xiaoque 大佬有话说 :
E5续订之VBA调用Outlook API
本帖最后由 xiaoque 于 2020-2-22 20:23 编辑
不知道用Excel VBA调用Outlook客户端发邮件,算不算调用了Outlook API,发段代码给各位试试
Sub SentEmail()
Dim OLApp As Outlook.Application
Dim OLMail As Object
Dim MyCell As Range
Dim MyContacts As Range
Set MyContacts = Sheets("Email").Range("A1:A5")
Set OLApp = New Outlook.Application
Set OLMail = OLApp.CreateItem(0)
OLApp.Session.Logon
With OLMail
.BCC = ""
For Each MyCell In MyContacts
.BCC = .BCC & MyCell.Value & ";"
Next MyCell
.Subject = "邮件主题"
.Body = "邮件内容"
.Display
End With
Set OLMail = Nothing
Set OLApp = Nothing
End Sub
VBA里选择Microsoft Excel 对象,然后添加模块,然后在模块里添加上面代码,添加完代码后,在VBA菜单栏选择:工具-引用,然后选择Microsoft Outlook 16.0 Object Library,确定
https://tu.my/2020/02/22/537289422eeca.png
然后命名工作表名为:Email,在表A1至A5列添加邮箱地址
https://tu.my/2020/02/22/12baccb5eadb2.png
在工作表中添加控件,选择SentEmail过程
点击控件按钮,调用Outlook客户端发邮件
https://tu.my/2020/02/22/ccf27682333f4.png
最后把上面设置好的EXCEL文件另存为:.xlsm格式的“启用宏的工作薄文件”。
一位不知名网友 大佬有话说 :
我看不懂啊,楼下来解释下
xiaoque 大佬有话说 :
还要上图
xiaoque 大佬有话说 :
图上完了
hotsky 大佬有话说 :
office365怎么找不到VBA
xiaoque 大佬有话说 :
hotsky 大佬有话说 : 2020-2-22 19:07
office365怎么找不到VBA
Alt+F11
hotsky 大佬有话说 :
xiaoque 大佬有话说 : 2020-2-22 19:08
Alt+F11
按了, 就是没反应, 试了几个方法了, 我在怀疑是不是office365没有这个功能啊
cherbim 大佬有话说 :
本帖最后由 cherbim 于 2020-2-22 19:14 编辑
感觉不算,它只是唤醒outlook邮箱,具体操作还是outlook邮箱干的活
不过微软说的是90天内需要证明是开发者才能自动续订,所以怎么算是开发者,微软是咋判定的?怎么保持用户活跃度?也没个准确信息
xiaoque 大佬有话说 :
本帖最后由 xiaoque 于 2020-2-22 19:55 编辑
hotsky 大佬有话说 : 2020-2-22 19:11
按了, 就是没反应, 试了几个方法了, 我在怀疑是不是office365没有这个功能啊 …
有的,我就是用Office 365来操作的
xiaoque 大佬有话说 :
cherbim 大佬有话说 : 2020-2-22 19:11
感觉不算,它只是唤醒outlook邮箱,具体操作还是outlook邮箱干的活
不过微软说的是90天内需要证明是开发者 …
不清楚了,可以配合oneindex使用试试