我正试图循环查看outlook中的电子邮件,以获得每封邮件的"ConversationTopic“。
我已经编写了下面的excel VBA代码,由于某种原因,它将出现“运行时错误430: Class不支持自动化或不支持预期的接口”错误。该代码能够在出现此错误之前遍历大约1000封电子邮件。在循环开始时,它不会立即出错。它会停在电话线上:
Debug.Print counter & vbTab & outlook_mail.class & vbTab & outlook_mail.ConversationTopic如果我这样更改了行,它就不会在邮件中循环出现任何问题。
Debug.Print counter & vbTab & outlook_mail.class或
Debug.Print counter只有在添加此内容时,才会出现错误。
outlook_mail.ConversationTopic我已经尝试谷歌的解决方案,我找不到任何这个错误,当代码中途停止运行。
备注:我使用延迟绑定的原因是为了确保我办公室的所有用户都能够使用该脚本。
Sub latebinding()
Dim OutlookApp As Object
Set OutlookApp = CreateObject("Outlook.Application")
Dim Outlook_namespace As Object
Set Outlook_namespace = OutlookApp.GetNamespace("MAPI")
Dim Outlook_folder As Object
Set Outlook_folder = Outlook_namespace.GetDefaultFolder(6)
Dim outlook_item As Object
Set outlook_item = Outlook_folder.Items
Dim outlook_mail As Object
Set outlook_mail = OutlookApp.CreateItem(0)
Dim outlook_attachment As Object
Set outlook_attachment = outlook_mail.Attachments
Dim counter As Integer
counter = 1
For Each outlook_mail In outlook_item
If TypeName(outlook_mail) = "MailItem" Then
Debug.Print counter & vbTab & outlook_mail.class & vbTab & outlook_mail.ConversationTopic
End If
counter = counter + 1
Next outlook_mail
Set OutlookApp = Nothing
Set Outlook_namespace = Nothing
Set outlook_attachment = Nothing
Set Outlook_folder = Nothing
Set outlook_item = Nothing
Set outlook_mail = Nothing
End Sub发布于 2022-01-27 10:49:53
您可能会遇到以下文章中提到的限制
这是:“任何对DbgPrint的调用都只能传输512个字节的信息。DbgPrint缓冲区的大小也有限制。有关详细信息,请参阅DbgPrint缓冲区和调试器。”
https://stackoverflow.com/questions/70876672
复制相似问题