是否可以在Excel VBA中读取特定主题的Outlook?
我经常在praktika学习时使用你的网站。在这期间,我必须为一家公司编写VBA程序 尽管如此,我还是对自己说,到目前为止,我对一切都很满意 我的上一个项目是一个列表,包括以下步骤:是否可以在Excel VBA中读取特定主题的Outlook?,vba,excel,email,outlook,Vba,Excel,Email,Outlook,我经常在praktika学习时使用你的网站。在这期间,我必须为一家公司编写VBA程序 尽管如此,我还是对自己说,到目前为止,我对一切都很满意 我的上一个项目是一个列表,包括以下步骤: 使用其他工作簿中的新数据更新自身(检查) 向一组特定人员发送电子邮件,其中包含excel工作簿中的个人数据(也可检查) 接收可能更改值和更正的邮件。(正在进行中…不知道如何到达那里) 最后一点让我很困扰,因为如果有办法的话,要做到这一点并不容易。公司使用Excel/Office 2017和Outlook 我想查看O
我环顾四周,发现一些旧线程在这一点上不再工作了。有人能用“不,不可能”或“是的,你可以这样做”来回答这个问题吗?:D非常感谢各位。是的,这绝对是可能的。您需要使用“主题”属性: 有关此属性的其他文档和microsoft提供的示例,请参阅此处: 这里有一个快速而肮脏的示例——您可能需要调试这个示例,但它应该可以帮助您完成大部分工作。此子项将显示您当前选择的电子邮件主题的MsgBox
Sub Selected_Email_Subject()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set GetCurrentItem = OutApp.ActiveInspector.CurrentItem
If GetCurrentItem Is Nothing Then
Set GetCurrentItem = olApp.ActiveExplorer.Selection.Item(1)
End If
MsgBox(GetCurrentItem.Subject)
End Sub
“是的,你能做到。”。。您必须决定的是一种基于您的需求的方法。首先,您希望如何检查电子邮件:是否希望运行Excel宏来查找这些电子邮件?还是希望Outlook在每次收到此组或个人的电子邮件时都提示您?一旦你决定了这一点,那么下一步将基于你想要走哪条路线。我怀疑,您希望Outlook在收到电子邮件后触发Excel宏来更新数据?谢谢您的快速回复。我看到你的结构了。我的老板每周都要做一次,他只是想确保他的清单上的项目成本等是正确的。所以他把它发送给一个项目经理的列表(有一个klick),他们会检查它,可能会更改它并将其发送回去。在我看来,只要按下两个按钮(不是最专业的用法,而是我老板喜欢的用法),就足以触发所有事情。1用于实际使用其他工作簿中的数据和发送电子邮件,另一个按钮用于检查特定主题的电子邮件历史记录,例如(“Projectcostlist KW32”),然后检查发送电子邮件的电子邮件地址,并将其与旧的Projectcost数据进行比较。唯一的问题是我找不到任何东西来访问outlook的收件箱。。。我发现了很多例子,但我想这已经不可能了,因为安全原因。。。好吧,我的问题是,在makrobuttonpress之后,如果没有个人存储文件夹,我找不到一个功能来查看outlook收件箱。它工作得很好,非常感谢。遗憾的是,我不太喜欢outlook vba部分。而且没有智能感知,所以当我想要一个特定的主题时,我不知道如何正确地改变它。不是当前或最新的电子邮件主题^。^'。我该怎么做?比如通过邮件索引列表或类似的SMT来检查每封邮件的主题是否正确。感谢各位的快速支持,您可以采用不同的方式。我脑子里的两个问题是循环浏览你的活动选择,或者循环浏览文件夹中的所有邮件项目。在循环中添加一些条件以检查每个循环的subject属性。如果您想要intellisense,请不要使用
Set-OutApp=CreateObject(“Outlook.Application”)
,而是在首选项中引用Outlook。非常感谢您的提示,intellisense最终帮助了我,这里有一个视频链接,完美解释如何使用vba将数据导入excel:祝您好运