outlook是一款邮件客户端软件,可以用于收发邮件。
它可以一次性添加多个邮箱账户。
当用vba操作outlook发送邮件时,如果有多个邮箱账户,需要先判断或者设置下用哪个邮箱账户进行发送。
要用vba访问 outlook 中的所有数据,需要从根对象NameSpace开始,它代表了任意数据源的根对象。
要返回NameSpace对象,可以通过GetNameSpace方法,在outlook中只能通过GetNamespace(“MAPI”) 或者 Session属性返回NameSpace对象。
其中 outlook vba 的Accounts 账户集合对象属于NameSpace对象的属性。
有了以上的知识,可以通过以下的vba代码获取outlook软件中添加的所有邮箱的账户信息:
Sub QQ1722187970() Dim objAccount As Outlook.Account Dim objOutlookApp As Outlook.Application Set objOutlookApp = New Outlook.Application Dim objNamespace As Outlook.Namespace With objOutlookApp Set objNamespace = .Session '与Session属性一样的效果 Set objNamespace = .GetNamespace("MAPI") With objNamespace For Each objAccount In .Accounts With objAccount '显示每个账户的名称 Debug.Print .DisplayName End With Next End With End With End Sub
发表评论