放置关键字,使其在Excel VBA的Outlook搜索栏中可见

时间:2016-12-20 10:12:24

标签: excel vba outlook

我想将Excel中的关键字放入Outlook中的搜索栏。

我不想搜索任何内容。

我提到了这个doc并尝试过这个。

Dim OutApp As Object, wK As Worksheet, kWd As String
Set wK = Sheet1

kWd = Trim(wK.Range("D4").Value)

kWd = "urn:schemas:mailheader:subject = " & kWd

Set OutApp = CreateObject("Outlook.Application")
'Searches the Inbox folder

Dim objSch As Outlook.Search
Const strS As String = "Inbox"
Const strTag As String = "SubjectSearch"
Set objSch = _
  OutApp.AdvancedSearch(Scope:=strS, Filter:=kWd, Tag:=strTag)

在最后一行我得到:

  

运行时错误446:object不支持命名参数

enter image description here

3 个答案:

答案 0 :(得分:1)

看起来您需要自动化Outlook并在文件夹中搜索关键字。在这种情况下,您可以考虑使用Items类的Find / FindNextRestrict方法:

Table类允许过滤文件夹中的项目:

如果您需要在多个文件夹中搜索,则需要使用Application类的AdvancedSearch方法:

答案 1 :(得分:1)

您需要在With块中使用Application.ActiveExplorer.Search(注意:在Microsoft API文档中找不到此内容)

在您的代码中,代替此:

Sheets(3).Range("A5").Value

使用此:

Dim objSch As Outlook.Search
Const strS As String = "Inbox"
Const strTag As String = "SubjectSearch"
Set objSch = _
   OutApp.AdvancedSearch(Scope:=strS, Filter:=kWd, Tag:=strTag)

我从here那里获得了这段代码

答案 2 :(得分:0)

要访问AdvancedSearch函数,该对象应为Outlook.Search类型。请参阅link

上的示例