Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >收件箱中Outlook对象的ReceivedTime生成错误"Object不支持此属性或方法“

收件箱中Outlook对象的ReceivedTime生成错误"Object不支持此属性或方法“
EN

Stack Overflow用户
提问于 2019-05-09 10:21:09
回答 2查看 1.8K关注 0票数 0

我每天早上运行一个任务,以便在Excel文件中运行宏。我的任务没有工作,因为VBA代码现在给了我一个错误。在今天之前,VBA代码是100%的功能。

我得到了

“对象不支持此属性或方法”

代码语言:javascript
运行
AI代码解释
复制
Dim olApp As Object
Dim olNS As Object
Dim myDate As Date
Dim olItems As Object
Dim olItem As Object
Dim olAttach As Object
Dim Date1 As String
Dim Date2 As String
Dim iAttachments As Integer

Date1 = Date & " " & TimeValue("6:00:00")
Date2 = Date & " " & TimeValue("00:00:00")

On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
Err.Clear: On Error GoTo 0

If olApp Is Nothing Then
Set olApp = CreateObject("Outlook.Application")
End If

Set olNS = olApp.GetNamespace("MAPI")

Set olItems = olNS.GetDefaultFolder(olFolderInbox).Items

For Each olItem In olItems

    If olItem.ReceivedTime < Date1 Then  '<----- ERROR LINE
        If olItem.ReceivedTime > Date2 Then
            If InStr(olItem.Body, "Darth Vader") > 0 Then

                iAttachments = olItem.Attachments.Count + iAttachments

                Set olAttach = olItem.Attachments.Item(1)

                On Error GoTo Err_Handler
                olAttach.SaveAsFile "C:\Desktop\Automatic Outlook Downloads" & "\" & olAttach.Filename

                Set olAttach = Nothing
                Set olItem = Nothing

                If iAttachments = 4 Then Exit For
            End If
        End If
    End If
Next

    Set olAttach = Nothing
    Set olItem = Nothing
    Set olApp = Nothing
    Set olNS = Nothing
    Set olItems = Nothing

Exit Sub
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-09 12:56:40

所以我能解决我自己的问题。我不知道为什么我的代码在今天之前是100%工作的,但我确实做了一个调整,以便在Excel日期和Outlook日期之间有一个更兼容的语法。下面是修改后的代码,它将我的Excel日期格式更改为与Outlook日期格式相匹配。另外,我决定在我的时间范围内限制我的olItems,然后循环我的条件,而不是"IF“条件。

代码语言:javascript
运行
AI代码解释
复制
Dim olApp As Object
Dim olNS As Object
Dim myDate As Date
Dim olItems As Object
Dim olItem As Object
Dim olAttach As Object
Dim Date1 As String
Dim Date2 As String
Dim iAttachments As Integer

Date1 = Date & " " & TimeValue("6:00:00 am")
Date11 = Format(Date1, "ddddd h:nn AMPM")     <----- Date to match Outlook format
Date2 = Date & " " & TimeValue("00:00:00 am")
Date22 = Format(Date2, "ddddd h:nn AMPM")     <----- Date to match Outlook format


On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
Err.Clear: On Error GoTo 0

If olApp Is Nothing Then
Set olApp = CreateObject("Outlook.Application")
End If

Set olNS = olApp.GetNamespace("MAPI")



Set olItems = olNS.GetDefaultFolder(olFolderInbox).Items.Restrict("[ReceivedTime] > """ & Date22 & """ and [ReceivedTime] < """ & Date11 & """")     <----- Restricted my olItems to my specific range



For Each olItem In olItems
    If InStr(olItem.Body, "Darth Vader") > 0 Then

    iAttachments = olItem.Attachments.Count + iAttachments

    Set olAttach = olItem.Attachments.Item(1)

    On Error GoTo Err_Handler
    olAttach.SaveAsFile "C:\Desktop\Automatic Outlook Downloads" & "\" & olAttach.Filename

    Set olAttach = Nothing
    Set olItem = Nothing


    If iAttachments = 4 Then Exit For

    End If
Next


    Set olAttach = Nothing
    Set olItem = Nothing
    Set olApp = Nothing
    Set olNS = Nothing
    Set olItems = Nothing



Exit Sub
票数 1
EN

Stack Overflow用户

发布于 2019-05-09 10:50:50

MailItems或其他方式可能没有ReceivedTime属性。由于您只关心MailItem类型,所以您应该能够在For Each中使用以下条件检查

代码语言:javascript
运行
AI代码解释
复制
For Each olItem In olItems
    'With early binding, you could use:
    ' If TypeOf olItem Is MailItem Then 
    'Otherwise:
    If TypeName(olItem) = "MailItem" Then
        If olItem.ReceivedTime < Date1 Then  ' <----- ERROR LINE
        If olItem.ReceivedTime > Date2 Then
        If InStr(olItem.Body, "Darth Vader") > 0 Then

        iAttachments = olItem.Attachments.Count + iAttachments

        Set olAttach = olItem.Attachments.Item(1)

        On Error GoTo Err_Handler
        olAttach.SaveAsFile "C:\Desktop\Automatic Outlook Downloads" & "\" & olAttach.Filename

        Set olAttach = Nothing
        Set olItem = Nothing


        If iAttachments = 4 Then Exit For
        End If
        End If
    End If
Next
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56065437

复制
相关文章
Redis实现信息已读未读状态提示
假如现在有2个模块需要提示消息:只要存在用户在上个时间点之后没有看过的信息就提示用户有新的信息
MonroeCode
2018/01/10
2.5K0
WEBIM未读计数不对?
ALL ON ONE 的原则,一开始登录的第一条最近联系人的会话是不显示未读计数的
hhualiu
2019/03/22
1.5K0
WEBIM未读计数不对?
Redis实现信息已读未读状态提示
前提: 假如现在有2个模块需要提示消息:只要存在用户在上个时间点之后没有看过的信息就提示用户有新的信息 思路如下: 使用hash存储用户上次看过的时间,使用sortedset存储每个模块的每个信息产生的时间 上代码: Map<String, String> dataMap = new HashMap<>(); Jedis jedis=null; String uid="1";//用户id //分类数组 String []cagoryArray={"c1","c2"}; try {     //连接池获取连
MonroeCode
2018/02/09
3.3K0
群聊消息“已读”/“未读” 功能解决方案!
一朋友和我讨论他前段时间面试某大公司的一题目: 企业IM比如企业微信、钉钉里面的群消息的有个已读未读的功能,发送者刚发出消息时,当前群里其他群成员都是未读状态,陆陆续续有人看了这个消息,这时候消息的详情变成x人已读,y人未读,如下图所示,有具体的已读未读列表(万恶的功能,看到同事or老板的消息不能假装没看到了),每条消息对应一个唯一的messageid(uint64_t),每个用户对应一个唯一的userid(uint64_t),应该如何保存这个消息对应的已读未读详情呢? 我第一时间给出一个很简单粗暴的方案
java思维导图
2022/04/25
3.3K0
群聊消息“已读”/“未读” 功能解决方案!
面试题:群聊消息的已读未读设计
对于每一个messageid,存当前readids + unreadids,当群成员A已读某一条消息时,把A userid从unreadids移除写到readids上就好了,客户端更新到messageid对应的详情列表,就可以展示m人已读,n人未读
Java旅途
2022/03/04
2K0
面试题:群聊消息的已读未读设计
钉钉消息已读、未读咋实现的嘞?
一款app,消息页面有:钱包通知、最近访客等各种通知类别,每个类别可能有新的通知消息,实现已读、未读功能,包括多少个未读,这个是怎么实现的呢?比如用户A访问了用户B的主页,难道用rabitmq给B发通知消息吗?量大了成本受得了吗?有没有成本低的方案呢
JavaEdge
2023/09/01
5440
钉钉消息已读、未读咋实现的嘞?
MySQL事务隔离级别:读未提交、读已提交、可重复读和串行
在进行多个事务的并发执行时,如果不对它们进行隔离,则可能会产生一些问题。例如:脏读、不可重复读和幻读。而事务隔离级别就是用来解决这些问题的。
网络技术联盟站
2023/06/03
7.5K0
Google Gmail邮箱一次性标记所有未读邮件为已读
和许多 Gmail 用户一样,您的收件箱中也可能塞满了数百甚至数千封未读电子邮件,有时很难知道您何时收到新邮件,
晓得博客
2021/08/05
4.7K0
面试官:群聊消息的已读未读功能,你来设计一个?
作者 | 小猿学习笔记 来源 | https://www.toutiao.com/i6686735232772604429 一朋友和我讨论他前段时间面试某大公司的一题目 : 企业IM比如企业微信、钉钉里面的群消息的有个已读未读的功能,发送者刚发出消息时,当前群里其他群成员都是未读状态,陆陆续续有人看了这个消息,这时候消息的详情变成x人已读,y人未读,如下图所示,有具体的已读未读列表(万恶的功能,看到同事or老板的消息不能假装没看到了),每条消息对应一个唯一的messageid(uint64_t),每个用户
程序猿DD
2023/04/04
1.6K1
面试官:群聊消息的已读未读功能,你来设计一个?
Android 在应用图标上设置未读消息数量
1.在使用之前首先 初始化 ,三个方法的参数分别是 应用包名/启动页的Activity及Context,四个参数的构造方法第三个是notification
黄林晴
2019/07/02
7.3K3
IM群聊消息的已读未读功能在存储空间方面的实现思路探讨
以阿里的钉钉为例,钉钉的产品定位是用于商务交流,其“强制已读回执”功能,让职场人无法再“假装不在线”、“假装没收到”。更有甚者,钉钉的群聊“强制已读回执”功能,甚至能够知道谁读了消息,谁没有读消息(老板的福音啊)。
JackJiang
2020/07/02
6K2
Python小程序,你有TA的一条未读消息
Python作为一个功能强大的编程语言,能用到的场景十分之多。这个系列旨在抓住奇思妙想,和严谨的代码结合,碰撞出火花。
HuangWeiAI
2019/08/06
1.2K0
Python小程序,你有TA的一条未读消息
史上最详细仿QQ未读消息拖拽粘性效果的实现
好久没写文章了,前段时间由于项目代码重构忙了一段时间,现在终于有点时间了就为大家带来一篇关于动画学习的自定义View:类似QQ消息拖拽的效果。
Android技术干货分享
2019/08/21
8470
史上最详细仿QQ未读消息拖拽粘性效果的实现
Android自定义View之仿QQ未读消息拖拽效果
绘制以上两条贝塞尔曲线和直线需要五个点:P1,P2,P3,P4,M,其中P1,P2,P3,P4是圆的切点,现在只知道两个圆的中心圆点O1和O2,那么怎么根据这两个点来求其余四个圆的切点呢?先分析:
Rouse
2019/07/17
1.9K1
Android自定义View之仿QQ未读消息拖拽效果
Android中为图标加上数字--用于未读短信数提醒,待更新应用数提醒等
在我们开发一些如短消息、应用商店等应用时,会考虑在短消息的图标上加上未读短信的数量,在应用商店上加上可以升级的应用数量,这样不占太大空间还能达到提示的目的。
飞雪无情
2018/08/28
1.7K0
Android中为图标加上数字--用于未读短信数提醒,待更新应用数提醒等
消息未读之点不完的小红点(Node+Websocket)
这个项目本来是我学生时代为了找工作的一个练手项目,但是没想到受到了很多的关注,star也快要破K了,这也激励着我不断去完善他,一方面是得对得起关注学习的人,另一方面也是想让自己能过通过慢慢完善一个项目来让自己提高。
秋风的笔记
2020/10/27
2.3K0
消息未读之点不完的小红点(Node+Websocket)
读《Bookdown》
R语言是主要在学术界用的编程语言,写作是其内涵之义,于是有了 RMarkdown。基于RMarkdown语法yihui进一步扩张了RMarkdown的应用,于是有了bookdown及其plus,以及blogdown。字面意思,前者是用来写书的后者是用来写博客的。每一个喜欢R语言不巧又同时喜欢写作的人,遇到这两个包都会有抑制不住的好奇心。余,概莫能外。
生信菜鸟团
2022/05/24
7860
读《Bookdown》
读SPEF
SPEF 全称 Standard Parasitic Exchange Format 是IEEE 标准,最新的标准号是:IEEE Std 1481– 2009. 用于描述芯片中的『连线特性』,即:电阻,电容,电感。SPEF 在数字实现流程中用于『连线特性』在不同工具之间的传递。
老秃胖驴
2020/06/01
3.2K1
读SPEF
快读
用于:在某些题中,由于数据范围太大到时W,然后这个时候加上个快读就会使代码死而复生!!!!
杨鹏伟
2020/09/11
5890
未读消息(小红点),前端 与 RabbitMQ 实时消息推送实践,贼简单~
前几天粉丝群里有个小伙伴问过:web 页面的未读消息(小红点)怎么实现比较简单,刚好本周手头有类似的开发任务,索性就整理出来供小伙伴们参考,没准哪天就能用得上呢。
程序员小富
2020/09/10
2.1K0

相似问题

Microsoft :每个用户的读/未读状态

12

FB PHP SDK将未读消息状态更改为已读并统计未读消息

10

获取电子邮件未读内容,不影响未读状态

60

显示未读/已读邮件

12

jQuery -读和未读项目

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文