首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA不承认MAPI

VBA不承认MAPI
EN

Stack Overflow用户
提问于 2015-05-14 22:49:32
回答 1查看 8.8K关注 0票数 1

我使用VBA进入outlook文件夹并将消息体放入单元格中。然而,在

代码语言:javascript
复制
 set ns = getnamespace("MAPI")

我得到一个错误“自动错误库未注册”。我选择了以下与outlook相关的参考资料(在Excel中):

  • Outlook 14.0对象库,
  • Outlook SharePoint社交服务商,
  • Outlook Social Provider可扩展性
  • Outlook View控件

我正在使用Excel 2010。整个代码如下。任何帮助都将不胜感激。

代码语言:javascript
复制
Dim ns As Namespace
Dim inbox As Mapifolder
Dim item As Object
Dim atmt As Attachment
Dim FileName As String
Dim i As Integer
Dim SubFolder As Mapifolder
Dim SubSubFolder As Mapifolder
Dim VariableName As Name
Dim Working As Workbook
Dim Sheet As Worksheet


Set ns = getnamespace("MAPI")
Set inbox = ns.GetDefaultFolder(olFolderInbox)
Set SubFolder = inbox.Folders("xx") 
Set SubSubFolder = SubFolder.Folders("xxxx")
Set Working = ThisWorkbook
Set Sheet = Working.Worksheets("Sheet1")

If SubSubFolder.Items.Count > 0 Then

 For Each item In SubSubFolder.Items
Sheet.Range("A1") = item.Body
Next item

End If
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-15 04:00:45

命名空间()在Outlook中是有效的,因为有一个指向Outlook.Application对象的内部应用程序变量,并且该变量是全局的。也就是说,没有指定"Application.*“,它的所有属性和方法都是可用的。

对于Excel,Application指向Excel.Application对象的一个实例,因此必须显式创建和初始化Outlook.Application对象:

代码语言:javascript
复制
set olApp = CreateObject("Outlook.Application")
Set ns = olApp.getnamespace("MAPI")
...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30248748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档