|
|||||||
outlook-vba 2.2 Магазины
Время создания: 09.04.2020 19:32
Текстовые метки: vba_outlook
Раздел: Разные закладки - VBA - Outlook - outlook-vba
Запись: xintrea/mytetra_db_adgaver_new/master/base/1586449545v540nylcbp/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
outlook-vba 2.2 Магазины Outlook хранит электронные письма, элементы календаря, заметки, задачи и т. Д. В файлах, известных как магазины . Если вы посмотрите на свою панель папок, вы увидите что-то вроде: Aaaaaaaaaa
Inbox
Drafts
Deleted Items
: :
Bbbbbbbbbb
Inbox
Drafts
Deleted Items
: :
Cccccccccc
: :
«Aaaaaaaaaa», «Bbbbbbbbbbb» и «Cccccccccc» - это пользовательские или отображаемые имена магазинов. Я всегда принимал Outlook по умолчанию для этих имен, которые менялись с годами. Когда по умолчанию было мое имя, это мой адрес электронной почты. Имя файла для этих магазинов может быть одинаковым, но с расширением, таким как PST или OST, или может быть чем-то совершенно другим. Макрос VBA нуждается в имени пользователя для доступа к хранилищу и не имеет отношения к именам файлов или расширению. У вас может быть столько магазинов, сколько пожелаете. У меня есть «файл данных Outlook», который был создан для меня, когда я установил Outlook. Когда я добавил учетные записи для своих адресов электронной почты, Outlook создал новые магазины, названные по адресу электронной почты, такие как «JohnDoe@hotmail.com» и «DoeJohn@gmail.com». Чтобы уменьшить размер моего основного магазина, я сохраняю старые электронные письма в магазинах с такими именами, как «Архив 2015». Если вы являетесь деловым пользователем, у вас может быть доступ к общим хранилищам или магазинам коллег. В приведенных ниже макросах показаны три способа перечисления магазинов, к которым вы можете получить доступ. Я предлагаю вам создать новый модуль для хранения кода ниже и использовать F4 для доступа к свойствам модуля, чтобы вы могли называть его «ModIntro» или другим именем по вашему выбору. Если вы закончите часть 1 этой серии, у вас уже будет такой модуль. Скопируйте эти макросы в модуль и проверьте, что каждый дает тот же результат. Sub ListStores1()
Dim InxStoreCrnt As Integer
Dim NS As NameSpace
Dim StoresColl As Folders
Set NS = CreateObject("Outlook.Application").GetNamespace("MAPI")
Set StoresColl = NS.Folders
For InxStoreCrnt = 1 To StoresColl.Count
Debug.Print StoresColl(InxStoreCrnt).Name
Next
End Sub
Sub ListStores2()
Dim StoresColl As Stores
Dim StoreCrnt As Store
Set StoresColl = Session.Stores
For Each StoreCrnt In StoresColl
Debug.Print StoreCrnt.DisplayName
Next
End Sub
Sub ListStores3()
Dim InxStoreCrnt As Long
With Application.Session
For InxStoreCrnt = 1 To .Folders.Count
Debug.Print .Folders(InxStoreCrnt).Name
Next
End With
End Sub
Вы найдете в VBA, что есть несколько способов достижения такого же эффекта. Выше я показал три метода доступа к магазинам. Вам не нужно их помнить - выберите свой любимый, но вам нужно знать, что существует несколько методов, потому что другие люди, чей код вам может понадобиться учиться, будут иметь разные фавориты. Переменные StoresColl в макросах ListStores1() и ListStores2() являются коллекциями, но содержат разные типы объектов: « Store и Folder . Объект Store может ссылаться только на файл на вашем диске. Folder может ссылаться на файл на диске, но также может ссылаться на папки в хранилище, такие как «Входящие» и «Отправленные». Stores , Folders , Store и Folder - все это часть объектной модели Outlook. В этой серии учебников вы познакомитесь с моделью, но это не формальное определение. Если вы хотите формальное определение, введите «outlook vba object model» в свою любимую поисковую систему. Убедитесь, что вы смотрите на версию модели VBA. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|