Vba 运行时错误13读取项目的mailitem属性时类型不匹配

Vba 运行时错误13读取项目的mailitem属性时类型不匹配,vba,outlook,Vba,Outlook,我用下面的代码回复电子邮件节目 “运行时错误13类型不匹配” 当它运行到下一个时(对于每个下一个循环) 我为今天收到的电子邮件设置了规则。当谈到下一个(下一个日期)时,它会显示错误消息 for each olmail in objfolder.Items if typeof olmail is outlook.item then if olmail.ReceivedTime>=Format(Date, "YYYY/MM/DD") then ' do the st

我用下面的代码回复电子邮件节目

“运行时错误13类型不匹配”

当它运行到下一个时(对于每个下一个循环)

我为今天收到的电子邮件设置了规则。当谈到下一个(下一个日期)时,它会显示错误消息

for each olmail in objfolder.Items
   if typeof olmail is outlook.item then

     if olmail.ReceivedTime>=Format(Date, "YYYY/MM/DD") then
     ' do the stuff here
      end if
   end if
next
我调试过了,它停止了错误消息,直到收到时间是今天

sub fwdmail ()
dim i as long
dim otlk as outlook.application
dim nmspc as outlook.namespace
dim olmail as Outlook.MailItem
dim objfolder as Outlook.MAIPfolder
dim oreply as Outlook.MailItem

set otlk=New Outlook.Applicaiton
Set Nmsp=otlk.GetNamespace("MAPI")
Set objfolder=nmspc.getdefaultFolder("olFolderInbox).Folder("notice")
for each olmail in objfolder.Items
  if olmail.ReceivedTime>=Format(Date, "YYYY/MM/DD") then
    ' do the stuff here
  end if
next
我试图检查是否存在邮件项类型,但收到了相同的错误消息

for each olmail in objfolder.Items
   if typeof olmail is outlook.item then

     if olmail.ReceivedTime>=Format(Date, "YYYY/MM/DD") then
     ' do the stuff here
      end if
   end if
next

我建议将接收时间的格式与您要比较的格式进行比较。

声明一个允许所有类型项目的变量。测试它是否是邮件项

“代码>选项显式”考虑此强制 “工具|选项|编辑器”选项卡 '需要变量声明 Sub-fwdmail() Dim olNmspc作为命名空间 将文件夹设置为文件夹
Dim olItm As Object“很可能您在该文件夹中有一个项目不是邮件项目,请参阅。我修复了问题的打字错误。我还尝试在if typeof中检查它是否是mailitem,但我仍然收到错误消息>,在尝试循环之前,您需要检查项目的
类型。请注意,您可以使用而不是循环。另外-
mailitem.ReceivedTime
日期
,不要将其与
变量/字符串
进行比较,这就是
Format
返回的内容。反过来说。放下
格式
,比较两个日期。