Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在Excel VBA中读取特定主题的Outlook?_Vba_Excel_Email_Outlook - Fatal编程技术网

是否可以在Excel VBA中读取特定主题的Outlook?

是否可以在Excel VBA中读取特定主题的Outlook?,vba,excel,email,outlook,Vba,Excel,Email,Outlook,我经常在praktika学习时使用你的网站。在这期间,我必须为一家公司编写VBA程序 尽管如此,我还是对自己说,到目前为止,我对一切都很满意 我的上一个项目是一个列表,包括以下步骤: 使用其他工作簿中的新数据更新自身(检查) 向一组特定人员发送电子邮件,其中包含excel工作簿中的个人数据(也可检查) 接收可能更改值和更正的邮件。(正在进行中…不知道如何到达那里) 最后一点让我很困扰,因为如果有办法的话,要做到这一点并不容易。公司使用Excel/Office 2017和Outlook 我想查看O

我经常在praktika学习时使用你的网站。在这期间,我必须为一家公司编写VBA程序

尽管如此,我还是对自己说,到目前为止,我对一切都很满意

我的上一个项目是一个列表,包括以下步骤:

  • 使用其他工作簿中的新数据更新自身(检查)

  • 向一组特定人员发送电子邮件,其中包含excel工作簿中的个人数据(也可检查)

  • 接收可能更改值和更正的邮件。(正在进行中…不知道如何到达那里)

  • 最后一点让我很困扰,因为如果有办法的话,要做到这一点并不容易。公司使用Excel/Office 2017和Outlook

    我想查看Outlook应用程序中的特定主题。然后从此邮件中打开excel工作簿,并更正项目的数据


    我环顾四周,发现一些旧线程在这一点上不再工作了。有人能用“不,不可能”或“是的,你可以这样做”来回答这个问题吗?: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:祝您好运