【发布时间】:2011-12-17 23:28:02
【问题描述】:
我正在尝试提取 Outlook 收件箱中所有电子邮件的电子邮件地址。我在网上找到了这段代码。
Sub GetALLEmailAddresses()
Dim objFolder As MAPIFolder
Dim strEmail As String
Dim strEmails As String
''' Requires reference to Microsoft Scripting Runtime
Dim dic As New Dictionary
Dim objItem As Object
''Set objFolder = Application.ActiveExplorer.Selection
Set objFolder = Application.GetNamespace("Mapi").PickFolder
For Each objItem In objFolder.Items
If objItem.Class = olMail Then
strEmail = objItem.SenderEmailAddress
If Not dic.Exists(strEmail) Then
strEmails = strEmails + strEmail + vbCrLf
dic.Add strEmail, ""
End If
我正在使用 Outlook 2007。当我使用 F5 从 Outlook Visual Basic 编辑器运行此代码时,我在以下行中收到错误。
Dim dic As New Dictionary
"user defined type not defined"
【问题讨论】:
-
您是否在代码中看到“需要参考 Microsoft 脚本运行时”?这意味着在 VBA 编辑器中,您转到工具 > 参考并检查“Microsoft Scripting Runtime”。