VBA不能识别MAPI

我正在使用VBA进入一个Outlook文件夹,并将消息正文放入一个单元格。 但是

set ns = getnamespace("MAPI") 

我收到一个错误“自动化错误库未注册”。 我select了以下与Outlook相关的参考(在Excel中):

  • Outlook 14.0对象库,
  • Outlook SharePoint社交提供程序,
  • Outlook社交提供商可扩展性,
  • Outlook视图控件

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

 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 

命名空间()在Outlook VBA中将是有效的,因为有一个内部应用程序variables指向Outlook.Application对象,variables是全局variables。 即它的所有属性和方法都可以使用,而不需要指定“Application。*”

对于Excel VBA,Application指向Excel.Application对象的一个​​实例,因此您必须显式创build并初始化Outlook.Application对象:

 set olApp = CreateObject("Outlook.Application") Set ns = olApp.getnamespace("MAPI") ...