Outlook宏高级搜索 [英] outlook macro advanced search

查看:182
本文介绍了Outlook宏高级搜索的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个宏来对任务主题以及任务主体执行高级搜索".例如搜索"@Cris"

I would like to create a macro to perform an "Advanced Search" on tasks subject and optionally tasks body. For instance search for "@Cris"

我已经从一个Excel示例复制并修改了此代码,但是它没有运行.运行时错误.感谢任何帮助

I have copied and modified this code from an example for Excel but it doesnt run. Runtime Error. Appreciate any assistance

Sub AdvancedSearchComplete()
    Dim rsts As Outlook.Results
    Dim i As Integer
    Dim strF As String
    Dim strS As String
    strS = "Tasks"
    StrName = InputBox("Search String?")
    strF = InStr(LCase("urn:schemas:tasks:subject"), StrName)

    Set sch = Application.AdvancedSearch(strS, strF, , "Search1")
End Sub

推荐答案

好的,这就是我要工作的.

Ok, this is what I got to work.

启动宏时:

  1. 要求用户输入字符串
  2. 执行并推进搜索并搜索主题中的字符串(包括特殊字符,例如@cris)
  3. 创建搜索文件夹以显示搜索结果

以防万一.我不知道如何像手动搜索一样创建输出.但这对我有用.

In case it helps anybody else. I don't know how to create an output like when doing a manual search. But this works for me.

Sub AdvSearchForStr()
    On Error GoTo Err_SearchFolderForSender
    Dim strFrom As String
    Dim strTo As String
    Dim strSearch As String

    strSearch = InputBox("Enter String to AdvSearch", "Advanced Search")

    strTo = "Test"

    Dim strDASLFilter As String
    strDASLFilter = "urn:schemas:httpmail:subject LIKE '%" & strSearch & "%'"

    Debug.Print strDASLFilter

    Dim strScope As String
    strScope = "'Inbox', 'Sent Items', 'Tasks'"

    Dim objSearch As Search
    Set objSearch = Application.AdvancedSearch(Scope:=strScope, Filter:=strDASLFilter, SearchSubFolders:=True, Tag:="SearchFolder")

    'Save the search results to a searchfolder
    objSearch.Save (strSearch)

    Set objSearch = Nothing
    Exit Sub

Err_SearchFolderForSender:
    MsgBox "Error # " & Err & " : " & Error(Err)

End Sub

这篇关于Outlook宏高级搜索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆