我想将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不支持命名参数
答案 0 :(得分:1)
看起来您需要自动化Outlook并在文件夹中搜索关键字。在这种情况下,您可以考虑使用Items类的Find / FindNext或Restrict方法:
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
上的示例