- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Outlook 中搜索主题行中带有“Blue Recruit Req Data”的最新电子邮件。
主题行中会有额外的词。
当找到一封电子邮件时,我需要验证它是否有附件。
我想将主题和接收日期存储在变量中,并将它们与存储在运行宏的 Excel 文件中的先前主题和日期进行比较。
如果主题行不匹配并且电子邮件的日期晚于最后存储在 Excel 文件中的日期,那么我想将该附件保存在一个文件夹中。
它没有找到主题中包含“Blue Recruit Req Data”的电子邮件。
Sub CheckEmail_BlueRecruit()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim olAp As Object, olns As Object, olInb As Object
Dim olItm As Object, olAtch As Object, olMail As Object
'Outlook Variables for email
Dim sSubj As String, dtRecvd As String
Dim oldSubj As String, olddtRecvd As String
Sheets("Job Mapping").Visible = True
Sheets("CC Mapping").Visible = True
Sheets("Site Mapping").Visible = True
Sheets("Historical Blue Recruit Data").Visible = True
Sheets("Historical HRT Data").Visible = False
Sheets("Combined Attrition Data").Visible = True
Sheets.Add Before:=Sheets(1)
'Designate ECP Facilities Model file as FNAME
myPath = ThisWorkbook.Path
MainWorkbook = ThisWorkbook.Name
Range("A1").Select
ActiveCell.FormulaR1C1 = myPath
'designate file path for Attrition Files
FacModPath = Cells(1, 1).Value
Sheets(1).Delete
'Get Outlook Instance
Set olAp = GetObject(, "Outlook.application")
Set olns = olAp.GetNamespace("MAPI")
Set olInb = olns.GetDefaultFolder(6)
Set olMail = olInb.Items.Restrict("[Subject] = ""*Blue Recruit Req Data*""")
'Chec if there are any matching emails
If Not (olMail Is Nothing) Then
For Each olItm In olMail
If myItem.Attachments.Count <> 0 Then
dtRecvd = olItm.ReceivedTime
sSubj = olItm.Subject
oldSubj = Sheets("CC Mapping").Range("M2").Value
olddtRecvd = Sheets("CC Mapping").Range("M3").Value
If sSubj = oldSubj Or dtRecvd <= olddtRecvd Then
MsgBox "No new Blue Recruit data files to load."
Exit Sub
Else
Range("M2").Select
ActiveCell.FormulaR1C1 = sSubj
Range("M3").Select
ActiveCell.FormulaR1C1 = dtRecvd
For Each myAttachment In myItem.Attachments
If InStr(myAttachment.DisplayName, ".xlsx") Then
I = I + 1
myAttachment.SaveAs Filename:=FacModPath & "\" & myAttachment.DisplayName
Exit For
Else
MsgBox "No attachment found."
Exit For
End If
Next
End If
End If
Next
Else
MsgBox "No emails found."
Exit Sub
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
一个单独但相关的问题。我想搜索 Outlook 存档文件夹甚至收件箱子文件夹中的电子邮件。我需要以不同的方式格式化这行代码吗?
Set olInb = olns.GetDefaultFolder(6)
最佳答案
当然,遍历文件夹中的所有项目并不是一个好主意。您需要使用 Restrict
或 Find
/FindNext
Items 类的方法来仅获取与您的条件相对应的项目。在以下文章中阅读有关这些方法的更多信息:
Set olMail = olInb.Items.Restrict("[Subject] = ""*Blue Recruit Req Data*""")
Restrict
方法返回
Items
的实例包含与您的条件相对应的项目集合的类,而不是您想象的单个项目。例如:
Sub MoveItems()
Dim myNamespace As Outlook.NameSpace
Dim myFolder As Outlook.Folder
Dim myItems As Outlook.Items
Dim myRestrictItems As Outlook.Items
Dim myItem As Outlook.MailItem
Set myNamespace = Application.GetNamespace("MAPI")
Set myFolder = _
myNamespace.GetDefaultFolder(olFolderInbox)
Set myItems = myFolder.Items
Set myRestrictItems = myItems.Restrict("[Subject] = ""*Blue Recruit Req Data*""")
For i = myRestrictItems.Count To 1 Step -1
myRestrictItems(i).Move myFolder.Folders("Business")
Next
End Sub
filter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " LIKE '%" & wordsInSubject & " %'"
Sort
对集合进行排序
Items
的方法类(class):
Items.Sort("[ReceivedTime]")
AdvancedSearch
Application 类的方法很有帮助。使用
AdvancedSearch
的主要好处Outlook中的方法是:
AdvancedSearch
方法在后台自动运行它。 Restrict
和 Find
/FindNext
方法可以应用于特定的Items
集合(参见 Outlook 中 Items
类的 Folder
属性)。 Instant Search
如果 Instant Search
可以使用关键字为商店启用(参见 IsInstantSearchEnabled
类的 Store
属性)。 Stop
停止搜索过程。 Search
的方法类(class)。 AdvancedSearch
的更多信息方法并在
Advanced search in Outlook programmatically: C#, VB.NET 中找到示例代码文章。
关于excel - 使用 Excel VBA 在主题和附件中查找带有关键字的 Outlook 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61668888/
以下 Outlook 的命令适用于 Outlook 2010: outlook.exe /c ipm.note /m "&subject=abc" /a "c:\attach.txt" 但它不适用于
我有 2 个电子邮件帐户,一个是 Gmail,另一个是 Outlook。我想在邮件到达时自动将进入 Outlook 的邮件接收到 Gmail。我该怎么做?Outlook 是否存在任何可能阻碍此操作的安
Outlook 加载项如何在邮件上设置 MAPI 属性(例如正文内容),但仅将其保存在本地缓存中(而不发送回 Exchange 服务器)?我见过使用一些加密插件来完成此操作。 我愿意使用几乎任何可以实
有什么方法可以在 Outlook 的模板主题或正文中插入今天的日期吗?这样,每当我打开保存的模板时,今天的日期就会自动显示在主题和正文中。 有什么内置功能吗?像 Date() 这样的东西? 最佳答案
我有一个时事通讯系统,可以跟踪阅读它的人。尽管此功能仅在允许下载图像的情况下才有效。但这不是我现在的问题。 我的问题是,当我在 Outlook (2010) 中打开新闻稿并授予下载图像的权限时,我的系
我需要从 Outlook msg 文件中读取内容。目前我正在使用来自 CodeProject.com 的类(class)项目来实现这一点,因为在服务器上部署 VSTO 和 Outlook 不是一种选择
我正在开发可与共享邮箱一起使用的 Outlook 加载项。目前,office 插件在委托(delegate)场景中不可用,但 MS 已经发布了支持这些场景的预览版本。https://learn.mic
我正在开发可与共享邮箱一起使用的 Outlook 加载项。目前,office 插件在委托(delegate)场景中不可用,但 MS 已经发布了支持这些场景的预览版本。https://learn.mic
我开发了一个运行良好的 Outlook Web 插件。它是一个任务 Pane ,可在约会的组合模式下使用,它收集事件数据、添加一些数据并将其发送到某个地方的 API。 我现在想做的是将经过身份验证的用
在 Outlook for Mac 中,office.js Outlook 加载项在我假设是 Safari Web 控件的任务 Pane 中运行。我无法确定您如何从任务 Pane 中运行的加载项中清除
Marshal.GetActiveObject("Outlook.Application") 在 Outlook 启动并继续运行时抛出 操作不可用(HRESULT 异常:0x800401E3 (MK_
我有一个 VSTO Outlook 2007 加载项。我必须检查 Outlook 是否与交换服务器脱机/联机。我正在使用如下代码: NameSpace ns = Application.GetNam
我正在尝试在图像上方添加文本,如下所示。它适用于除 Outlook 2010、Outlook 2007、Outlook 2013 之外的所有电子邮件客户端。所有这三个客户端都忽略了填充。我到处都试过了
有没有办法处理 Outlook 邮件项中收件人的悬停事件?我想在悬停时显示一个弹出窗口,其中包含有关收件人的一些信息,并想知道是否可以通过 Outlook 加载项实现。 最佳答案 因为 Inspect
我正在尝试在 Outlook 2007 中创建、更新和删除事件(但最好它适用于所有版本)。创建和删除事件工作正常。我关注了 several threads但由于某种原因更新操作失败。 当我双击 ICS
我在 ms Outlook 中有 2 个帐户('user1@test.com' - 默认配置文件,'user2@test.com'),我正在尝试使用非默认帐户通过 python 发送消息。这是我的代码
我有一个我最近继承的Outlook 2007加载项,目前在生产中存在一个问题,有些用户正在周期性地,似乎是随机地禁用其加载项。外接程序中没有日志,并且在外接程序代码中的每个方法/事件调用周围都存在tr
是否可以为 创建 HTML 电子邮件签名? 2003年展望或以上不引用外部图像? 也就是说,使用那些特殊的“cid”引用,但将图像本身嵌入到签名中,而不是嵌入到文件系统或网络中。 这适用于根据用户的各
似乎没有太多信息或任何好的代码示例用于以编程方式设置 Outlook 2007 MailItem 的类别。 MSDN has a limited page ,并提到使用 VB 的 拆分 功能,或多或少
Outlook 2007 在 Outlook 中撰写新邮件时,可以创建指向其他邮件的链接吗? Whww 我正在撰写一封新邮件,我想创建一个指向已发送项目的链接,单击此链接应该会打开邮件。 这能做到吗?
我是一名优秀的程序员,十分优秀!