Разное

Методы outlook application – Outlook.Application, — AskIt.RU

Содержание

Метод Application. CreateItem (Outlook) | Microsoft Docs

  • Время чтения: 2 мин

В этой статье

Создает и возвращает новый элемент Microsoft Outlook.Creates and returns a new Microsoft Outlook item.

СинтаксисSyntax

выражение.expression. CreateItem( _ItemType_ )

выражение: переменная, представляющая объект Application.expression A variable that represents an Application object.

ПараметрыParameters

ИмяNameОбязательный или необязательныйRequired/OptionalТип данныхData typeОписаниеDescription
ItemTypeItemType
ОбязательныйRequired
OlItemTypeOlItemTypeТип элемента Outlook для нового элемента.The Outlook item type for the new item.

Возвращаемое значениеReturn value

Значение объекта , представляющее новый элемент Outlook.An Object value that represents the new Outlook item.

ПримечанияRemarks

Метод CreateItem может создавать только элементы Outlook по умолчанию.The CreateItem method can only create default Outlook items. Чтобы создать новые элементы с помощью настраиваемой формы, используйте метод Add в коллекции Items .To create new items using a custom form, use the Add method on the Items collection.

ПримерExample

Приведенный ниже пример Microsoft Visual Basic для приложений (VBA) создает новый объект MailItem и задает для свойства BodyFormat значение олформастмл.The following Microsoft Visual Basic for Applications (VBA) example creates a new MailItem object and sets the

BodyFormat property to olFormatHTML. Основной текст элемента электронной почты будет отображаться в формате HTML.The Body text of the email item will now appear in HTML format.

Sub CreateHTMLMail() 
 
 'Creates a new email item and modifies its properties 
 
 Dim objMail As Outlook.MailItem 
 
 
 
 'Create email item 
 
 Set objMail = Application.CreateItem(olMailItem) 
 
 With objMail 
 
 'Set body format to HTML 
 
 .BodyFormat = olFormatHTML 
 
 .HTMLBody = "<HTML><h3>The body of this message will appear in HTML.</h3><BODY> Please enter the message text here. </BODY></HTML>" 
 
 .Display 
 
 End With 
 
End Sub

См. такжеSee also

Объект ApplicationApplication Object

Практическое руководство. Импорт XML-данных встречи в объекты встречи OutlookHow to: Import Appointment XML Data into Outlook Appointment Objects

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

docs.microsoft.com

Объект Application (Outlook) | Microsoft Docs

  • Время чтения: 2 мин

В этой статье

Представляет приложение Microsoft Outlook целиком.Represents the entire Microsoft Outlook application.

ПримечанияRemarks

Это единственный объект в иерархии, который может быть возвращен с помощью метода CreateObject или встроенной функции Visual Basic GetObject

.This is the only object in the hierarchy that can be returned by using the CreateObject method or the intrinsic Visual Basic GetObject function.

Объект приложения Outlook имеет несколько целей:The Outlook Application object has several purposes:

  • Как корневой объект, он обеспечивает доступ к другим объектам в иерархии Outlook.As the root object, it allows access to other objects in the Outlook hierarchy.

  • Он обеспечивает прямой доступ к новому элементу, созданному с помощью CreateItem, без необходимости проходить по иерархии объектов.It allows direct access to a new item created by using CreateItem, without having to traverse the object hierarchy.

  • Он обеспечивает доступ к активным объектам интерфейса (проводнику и инспектору).It allows access to the active interface objects (the explorer and the inspector).

При использовании автоматизации для управления Outlook из другого приложения используйте метод CreateObject для создания объекта приложения Outlook.When you use Automation to control Outlook from another application, you use the

CreateObject method to create an Outlook Application object.

ПримерExample

В приведенном ниже примере Visual Basic для приложений (VBA) запускается приложение Outlook (если оно еще не запущено) и открывается папка "Входящие" по умолчанию.The following Visual Basic for Applications (VBA) example starts Outlook (if it's not already running) and opens the default Inbox folder.

Set myNameSpace = Application.GetNameSpace("MAPI") 
 
Set myFolder= _ 
 
 myNameSpace.GetDefaultFolder(olFolderInbox) 
 
myFolder.Display

В приведенном ниже примере Visual Basic для приложений (VBA) для создания и открытия нового контакта используется объект Application .The following Visual Basic for Applications (VBA) example uses the Application object to create and open a new contact.

Set myItem = Application.CreateItem(olContactItem) 
 
myItem.Display

СобытияEvents

МетодыMethods

СвойстваProperties

См. такжеSee also

Справочные материалы по объектной модели OutlookOutlook Object Model Reference

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

docs.microsoft.com

Метод Application. CreateObject (Outlook) | Microsoft Docs

  • Время чтения: 2 мин

В этой статье

Создает объект автоматизации указанного класса.Creates an automation object of the specified class.

СинтаксисSyntax

выражение.expression. CreateObject( _ObjectName_ )

выражение: переменная, представляющая объект Application.expression A variable that represents an Application object.

ПараметрыParameters

ИмяNameОбязательный или необязательныйRequired/OptionalТип данныхData typeОписаниеDescription
ObjectNameObjectNameОбязательныйRequiredStringStringИмя класса создаваемого объекта.The class name of the object to create. Сведения о допустимых именах классов приведены в статье программные идентификаторы OLE.For information about valid class names, see OLE Programmatic Identifiers.

Возвращаемое значениеReturn value

Значение объекта, представляющее новый экземпляр объекта Automation.An Object value that represents the new Automation object instance. Если приложение уже запущено,

CreateObject создаст новый экземпляр.If the application is already running, CreateObject will create a new instance.

ПримечанияRemarks

Этот метод предоставляется таким образом, чтобы другие приложения можно было автоматизировать из Microsoft Visual Basic Scripting Edition (VBScript) 1,0, который не включал метод CreateObject .This method is provided so that other applications can be automated from Microsoft Visual Basic Scripting Edition (VBScript) 1.0, which did not include a CreateObject method. CreateObject был включен в VBScript версии 2,0 и более поздних версий.CreateObject has been included in VBScript version 2.0 and later. Этот метод не следует использовать для автоматизации Microsoft Outlook из VBScript.This method should not be used to automate Microsoft Outlook from VBScript.

Примечание

Методы CreateObject , часто используемые в примере кода в этом файле справки (доступны при нажатии кнопки "пример"), становятся доступными в Microsoft Visual Basic или Microsoft Visual Basic для приложений (VBA).The CreateObject

methods commonly used in the example code within this Help file (available when you click "Example") are made available by Microsoft Visual Basic or Microsoft Visual Basic for Applications (VBA). В этих примерах не используется тот же метод CreateObject , который реализован в составе объектной модели в Outlook.These examples do not use the same CreateObject method that is implemented as part of the object model in Outlook.

ПримерExample

В этом примере на языке VBScript используется событие Open элемента для доступа к Windows Internet Explorer и отображения веб-страницы.This VBScript example uses the Open event of the item to access Windows Internet Explorer and display the webpage.

Sub Item_Open() 
 
 Set Web = CreateObject("InternetExplorer.Application") 
 
 Web.Visible = True 
 
 Web.Navigate "www.microsoft.com" 
 
End Sub

В этом примере на языке VBScript используется событие Click элемента управления CommandButton элемента управления для доступа к Microsoft Word и открытия документа в корневом каталоге с именем "Resume. doc".This VBScript example uses the

Click event of a CommandButton control on the item to access Microsoft Word and open a document in the root directory named "Resume.doc".

Sub CommandButton1_Click() 
 
 Set Word = Application.CreateObject("Word.Application") 
 
 Word.Visible = True 
 
 Word.Documents.Open("C:\Resume.doc") 
 
End Sub

См. такжеSee also

Объект ApplicationApplication Object

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

docs.microsoft.com

Метод Application. ActiveExplorer (Outlook) | Microsoft Docs

  • Время чтения: 2 мин

В этой статье

Возвращает самый верхний объект Explorer на рабочем столе.Returns the topmost Explorer object on the desktop.

СинтаксисSyntax

выражение.expression. ActiveExplorer

выражение: переменная, представляющая объект Application.expression A variable that represents an Application object.

Возвращаемое значениеReturn value

Проводник , представляющий самый верхний проводник на настольном компьютере.An Explorer that represents the topmost explorer on the desktop. Если нет активных проводника, возвращается значение Nothing .Returns Nothing if no explorer is active.

ПримечанияRemarks

Используйте этот метод, чтобы вернуть объект Explorer , который скорее всего просматривает пользователь.Use this method to return the Explorer object that the user is most likely viewing. Этот метод также полезен для определения, когда нет активного проводника, поэтому можно открыть новый.This method is also useful for determining when there is no active explorer, so a new one can be opened.

ПримерExample

В приведенном ниже примере Microsoft Visual Basic для приложений (VBA) используются свойство Count и метод Item коллекции Selection , возвращенные свойством Selection для отображения отправителей всех почтовых элементов, выбранных в окно активного проводника.The following Microsoft Visual Basic for Applications (VBA) example uses the Count property and Item method of the Selection collection returned by the Selection property to display the senders of all mail items selected in the active explorer window. Для запуска этого примера необходимо, чтобы в окне активного проводника был выбран по крайней мере один почтовый элемент.To run this example, you need to have at least one mail item selected in the active Explorer window.

Примечание

Вы можете получить сообщение об ошибке, если вы выбрали элементы, отличные от почтового элемента, например запрос задачи, так как свойство SenderName не существует для объекта TaskRequestItem .You might receive an error if you select items other than a mail item such as task request as the SenderName property does not exist for a TaskRequestItem object.

Sub GetSelectedItems() 
 
 Dim myOlExp As Outlook.Explorer 
 
 Dim myOlSel As Outlook.Selection 
 
 Dim MsgTxt As String 
 
 Dim x As Integer 
 
 
 
 MsgTxt = "You have selected items from: " 
 
 Set myOlExp = Application.ActiveExplorer 
 
 Set myOlSel = myOlExp.Selection 
 
 For x = 1 To myOlSel.Count 
 
 MsgTxt = MsgTxt & myOlSel.Item(x).SenderName & ";" 
 
 Next x 
 
 MsgBox MsgTxt 
 
End Sub

См. такжеSee also

Объект ApplicationApplication Object

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

docs.microsoft.com

Метод Application. Жетобжектреференце (Outlook) | Microsoft Docs

  • Время чтения: 2 мин

В этой статье

Создает строго или слабую ссылку на объект для указанного объекта Outlook.Creates a strong or weak object reference for a specified Outlook object.

СинтаксисSyntax

выражение.expression. GetObjectReference( _Item_ , _ReferenceType_ )

Expression (выражение ) Выражение, возвращающее объект Application .expression An expression that returns an Application object.

ПараметрыParameters

ИмяNameОбязательный или необязательныйRequired/OptionalТип данныхData typeОписаниеDescription
ЭлементItemОбязательныйRequiredObjectObjectОбъект, из которого получается ссылка на строгое или слабую объект.The object from which to obtain a strong or weak object reference.
РеференцетипеReferenceTypeОбязательныйRequiredOlReferenceTypeOlReferenceTypeТип ссылки на объект.The type of object reference.

Возвращаемое значениеReturn value

Объект , представляющий строго или слабую ссылку на объект для указанного объекта.An Object that represents a strong or weak object reference for the specified object.

ПримечанияRemarks

Этот метод возвращает слабое или строгое обращение к объекту для объекта, указанного в элементе.This method returns a weak or strong object reference for the object specified in Item.

Примечание

Outlook может завершиться неудачно, если надстройка сохраняет строгое создание ссылок на объекты.Outlook can fail to close successfully if an add-in retains strong object references. Всегда отменяйте ссылку на сильную ссылку на объект, когда она больше не нужна надстройке.Always dereference a strong object reference once it is no longer needed by the add-in.

См. такжеSee also

Объект ApplicationApplication Object

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

docs.microsoft.com

Метод Application. CreateItemFromTemplate (Outlook) | Microsoft Docs

  • Время чтения: 2 мин

В этой статье

Создает новый элемент Microsoft Outlook из шаблона Outlook (oft) и возвращает новый элемент.Creates a new Microsoft Outlook item from an Outlook template (.oft) and returns the new item.

СинтаксисSyntax

выражение.expression. CreateItemFromTemplate( _TemplatePath_ , _InFolder_ )

выражение: переменная, представляющая объект Application.expression A variable that represents an Application object.

ПараметрыParameters

ИмяNameОбязательный или необязательныйRequired/OptionalТип данныхData typeОписаниеDescription
TemplatePathTemplatePathОбязательныйRequiredStringStringПуть и имя файла шаблона Outlook для нового элемента.The path and file name of the Outlook template for the new item.
Папка "папка"InFolderНеобязательныйOptionalVariantVariantПапка, в которой будет создан элемент.The folder in which the item is to be created. Если этот аргумент не задан, будет использоваться папка по умолчанию для типа элемента.If this argument is omitted, the default folder for the item type will be used.

Возвращаемое значениеReturn value

Значение объекта , представляющее новый элемент Outlook.An Object value that represents the new Outlook item.

ПримечанияRemarks

Новые элементы всегда открываются в режиме создания, а не в режиме чтения, независимо от режима, в котором элементы были сохранены на диске.New items will always open in compose mode, as opposed to read mode, regardless of the mode in which the items were saved to disk.

ПримерExample

В этом примере Visual Basic для приложений (VBA) для создания нового элемента из шаблона Outlook используется CreateItemFromTemplate , после чего он отображается.This Visual Basic for Applications (VBA) example uses CreateItemFromTemplate to create a new item from an Outlook template and then displays it. CreateTemplate Макрос показывает, как создать шаблон, используемый в первом примере.The CreateTemplate macro shows you how to create the template that is used in the first example. Чтобы избежать ошибок, замените "Wilson)", указав допустимое имя в адресной книге.To avoid errors, replace 'Dan Wilson' with a valid name in your address book.

Sub CreateFromTemplate() 
 Dim MyItem As Outlook.MailItem 
 
 Set MyItem = Application.CreateItemFromTemplate("C:\statusrep.oft") 
 MyItem.Display 
End Sub 
 
Sub CreateTemplate() 
 Dim MyItem As Outlook.MailItem 
 
 Set MyItem = Application.CreateItem(olMailItem) 
 MyItem.Subject = "Status Report" 
 MyItem.To = "Dan Wilson" 
 MyItem.Display 
 MyItem.SaveAs "C:\statusrep.oft", OlSaveAsType.olTemplate 
End Sub

В приведенном ниже примере Visual Basic для приложений (VBA) показано, как использовать необязательный параметр Folder при вызове метода CreateItemFromTemplate .The following Visual Basic for Applications (VBA) example shows how to use the optional InFolder parameter when calling the CreateItemFromTemplate method.

Sub CreateFromTemplate2() 
 Dim MyItem As Outlook.MailItem 
 
 Set MyItem = Application.CreateItemFromTemplate("C:\statusrep.oft", _ 
 Application.Session.GetDefaultFolder(olFolderDrafts)) 
 MyItem.Save 
End Sub

См. такжеSee also

Объект ApplicationApplication Object

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

docs.microsoft.com

Метод Application. AdvancedSearch (Outlook) | Microsoft Docs

  • Время чтения: 3 мин

В этой статье

Выполняет поиск, основанный на указанной строке поиска DAV и поиске (DASL).Performs a search based on a specified DAV Searching and Locating (DASL) search string.

СинтаксисSyntax

выражение.expression. AdvancedSearch( _Scope_ , _Filter_ , _SearchSubFolders_ , _Tag_ )

выражение: переменная, представляющая объект Application.expression A variable that represents an Application object.

ПараметрыParameters

ИмяNameОбязательный или необязательныйRequired/OptionalТип данныхData typeОписаниеDescription
ScopeScopeОбязательныйRequiredStringStringОбласть поиска.The scope of the search. Например, путь к папке.For example, the folder path of a folder. Путь к папке рекомендуется заключить в одинарные кавычки.It is recommended that the folder path is enclosed within single quotes. В противном случае при поиске могут возвращаться неверные результаты, если путь к папке содержит специальные символы, в том числе символы Юникода.Otherwise, the search might not return correct results if the folder path contains special characters including Unicode characters. Чтобы указать несколько путей к папкам, заключите каждый путь к папке в одинарные кавычки и Разделяйте пути к папкам с одиночными кавычками запятыми.To specify multiple folder paths, enclose each folder path in single quotes and separate the single quoted folder paths with a comma.
FilterFilterНеобязательныйOptionalVariantVariantФильтр поиска DASL, определяющий параметры поиска.The DASL search filter that defines the parameters of the search.
SearchSubFoldersSearchSubFoldersНеобязательныйOptionalVariantVariantОпределяет, будет ли поиск содержать любую из вложенных папок.Determines if the search will include any of the folder's subfolders.
TagTagНеобязательныйOptionalVariantVariantИмя, заданное в качестве идентификатора для поиска.The name given as an identifier for the search.

Возвращаемое значениеReturn value

Объект поиска , представляющий результаты поиска.A Search object that represents the results of the search.

ПримечанияRemarks

Можно выполнить несколько операций поиска одновременно, вызвав метод AdvancedSearch в последующих строках кода.You can run multiple searches simultaneously by calling the AdvancedSearch method in successive lines of code. Однако следует иметь в виду, что программное создание большого количества папок поиска может привести к значительным операциям поиска, которые влияют на производительность Outlook, особенно если Outlook выполняет поиск в режиме Online Exchange.However, you should be aware that programmatically creating a large number of search folders can result in significant simultaneous search activity that would affect the performance of Outlook, especially if Outlook conducts the search in online Exchange mode.

Метод AdvancedSearch и связанные с ним функции в объектной модели Outlook не создают папку поиска, которая будет отображаться в пользовательском интерфейсе Outlook.The AdvancedSearch method and related features in the Outlook object model do not create a Search Folder that will appear in the Outlook user interface. Тем не менее, вы можете использовать метод Save искомого объекта, который возвращается для создания папки поиска, которая будет отображаться в списке папок поиска в пользовательском интерфейсе Outlook. ****However, you can use the Save method of the Search object that is returned to create a Search Folder that will appear in the Search Folders list in the Outlook user interface.

С помощью параметра Scope можно указать одну или несколько папок в одном хранилище, но нельзя указать несколько папок в нескольких хранилищах.Using the Scope parameter, you can specify one or more folders in the same store, but you may not specify multiple folders in multiple stores. Чтобы указать несколько папок в одном и том же хранилище для параметра Scope , используйте символ запятой между каждой папкой и заключите каждый путь к папке в одинарные кавычки.To specify multiple folders in the same store for the Scope parameter, use a comma character between each folder path and enclose each folder path in single quotes. Для папок по умолчанию, таких как папки "Входящие" и "Отправленные", можно использовать простое имя папки вместо полного пути к папке.For default folders such as Inbox or Sent Items, you can use the simple folder name instead of the full folder path. Например, следующие две строки кода представляют допустимые параметры области :For example, the following two lines of code represent valid Scope parameters:

Scope = "'Inbox', 'Sent Items'"
Scope = "'" & Application.Session.GetDefaultFolder(olFolderInbox).FolderPath _  
    & "','" & Application.Session.GetDefaultFolder(olFolderSentMail).FolderPath & "'"

Параметр Filter может быть любым допустимым запросом DASL.The Filter parameter can be any valid DASL query. Дополнительные сведения о запросах DASL приведены в разделе Фильтрация элементов и ссылки на свойства по пространству имен.For additional information on DASL queries, see Filtering Items and Referencing Properties by Namespace. Обратите внимание, что вы не можете использовать запрос JET для параметра Filter в расширенном поиске.Note that you cannot use a JET query for the Filter parameter of Advanced Search. Если для хранилища, содержащего папку, указанную в параметре Scope , включен мгновенный поиск, вы можете использовать ключевые слова для мгновенного поиска, чтобы увеличить производительность поиска.If Instant Search is enabled on a store that contains a folder specified in the Scope parameter, you can use Instant Search keywords to improve the performance of your search. Если вы используете ключевые слова для мгновенного поиска и функция быстрого поиска не включена, Outlook возвратит ошибку, и поиск завершится неудачей.If you use Instant Search keywords and Instant Search is not enabled, Outlook will return an error and your search will fail.

ПримерExample

В приведенном ниже примере Visual Basic для приложений (VBA) в папке "Входящие" в папке "Входящие" просматриваются элементы с темой равно " тест " и отображаются имена отправителей элементов электронной почты, возвращенных службой поиска.The following Visual Basic for Applications (VBA) example searches the Inbox for items with subject equal to Test and displays the names of the senders of the email items returned by the search. Процедура обработки события адванцедсеарчкомплете задает blnSearchComp значение true для логического значения true по завершении поиска.The AdvancedSearchComplete event procedure sets the boolean blnSearchComp to True when the search is complete. Эта логическая переменная используется в TestAdvancedSearchComplete() процедуре для определения завершения поиска.This boolean variable is used by the TestAdvancedSearchComplete() procedure to determine when the search is complete. Пример кода должен быть включен в модуль класса ThisOutlookSession, например, и необходимо вызвать TestAdvancedSearchComplete() процедуру перед вызовом процедуры обработки события в Outlook.The sample code must be placed in a class module such as ThisOutlookSession, and the TestAdvancedSearchComplete() procedure must be called before the event procedure can be called by Outlook.

Public blnSearchComp As Boolean  
  
Private Sub Application_AdvancedSearchComplete(ByVal SearchObject As Search)  
    Debug.Print "The AdvancedSearchComplete Event fired"  
    If SearchObject.Tag = "Test" Then  
        m_SearchComplete = True  
    End If  
  
End Sub  
  
Sub TestAdvancedSearchComplete()  
    Dim sch As Outlook.Search  
    Dim rsts As Outlook.Results  
    Dim i As Integer  
    blnSearchComp = False  
    Const strF As String = "urn:schemas:mailheader:subject = 'Test'"  
    Const strS As String = "Inbox"     
    Set sch = Application.AdvancedSearch(strS, strF, "Test")   
    While blnSearchComp = False  
        DoEvents  
    Wend   
    Set rsts = sch.Results  
    For i = 1 To rsts.Count  
        Debug.Print rsts.Item(i).SenderName  
    Next  
End Sub

В приведенном ниже примере Microsoft Visual Basic для приложений используется метод AdvancedSearch для создания нового поиска.The following Microsoft Visual Basic for Applications example uses the AdvancedSearch method to create a new search. Параметры поиска, указанные в аргументе Filter метода AdvancedSearch , будут возвращать все элементы в папках "Входящие" и "Отправленные", где фраза темы — соответствует или содержит "Office".The parameters of the search, as specified by the Filter argument of the AdvancedSearch method, will return all items in the Inbox and Sent Items folders where the Subject phrase-matches or contains "Office". Папки "Входящие" и "Отправленные" пользователя указаны в качестве области поиска, а свойство сеарчсубфолдерс имеет значение true.The user's Inbox and Sent Items folders are specified as the scope of the search and the SearchSubFolders property is set to True. По завершении поиска вызывается метод GetObject для объекта Search для выполнения перечисления результатов поиска.When the search is complete, the GetTable method is called on the Search object for performant enumeration of search results.

Public m_SearchComplete As Boolean  
  
Private Sub Application_AdvancedSearchComplete(ByVal SearchObject As Search)  
    If SearchObject.Tag = "MySearch" Then  
        m_SearchComplete = True  
    End If  
End Sub  
  
Sub TestSearchForMultipleFolders()  
    Dim Scope As String  
    Dim Filter As String  
    Dim MySearch As Outlook.Search  
    Dim MyTable As Outlook.Table  
    Dim nextRow As Outlook.Row  
    m_SearchComplete = False  
    'Establish scope for multiple folders  
    Scope = "'" & Application.Session.GetDefaultFolder( _  
    olFolderInbox).FolderPath _  
    & "','" & Application.Session.GetDefaultFolder( _  
    olFolderSentMail).FolderPath & "'"  
    'Establish filter  
    If Application.Session.DefaultStore.IsInstantSearchEnabled Then  
        Filter = Chr(34) & "urn:schemas:httpmail:subject" _  
        & Chr(34) & " ci_phrasematch 'Office'"  
    Else  
        Filter = Chr(34) & "urn:schemas:httpmail:subject" _  
        & Chr(34) & " like '%Office%'"  
    End If  
    Set MySearch = Application.AdvancedSearch( _  
    Scope, Filter, True, "MySearch")  
    While m_SearchComplete <> True  
        DoEvents  
    Wend  
    Set MyTable = MySearch.GetTable  
    Do Until MyTable.EndOfTable  
        Set nextRow = MyTable.GetNextRow()  
        Debug.Print nextRow("Subject")  
    Loop  
End Sub

См. такжеSee also

Объект ApplicationApplication Object

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

docs.microsoft.com

Отправить ответ

avatar
  Подписаться  
Уведомление о