2013-07-19 2 views
0

В настоящее время я работаю над небольшим приложением, которое позволяет мне внести некоторые изменения в профиль пользователя, а именно добавлять или удалять определенные файлы PST и переносить контакты/календари из прикрепленных файлов PST в свой основной почтовый ящик. Это для Outlook 2007. После некоторого поиска я нашел перечисление в Outlook, которое я хотел бы использовать, если это возможно: OlExchangeStoreType.Доступ к OlExchangeStoreType из внешнего Outlook

Я хочу использовать его, чтобы определить, в каком хранилище я работаю (например, публичный, первичный или PST-файл). Я просто не знаю, как я могу это достичь. Я использую позднюю привязку в своем коде, чтобы обойти возможные проблемы, перемещающиеся между разными версиями. Current Binding:

Dim olApp,olNS 
On Error Resume Next 
    olApp = GetObject(, "Outlook.Application") 
    On Error GoTo 0 

    If olApp Is Nothing Then 
     olApp = CreateObject("Outlook.Application") 
     olNS = olApp.GetNamespace("MAPI") 
    Else 
     olNS = olApp.GetNamespace("MAPI") 
    End If 

Это прекрасно работает. Если я попробую GetObject (, «Outlook»), я получаю «Не могу создать компонент ActiveX».

Есть ли интерфейс, который я могу использовать для Outlook, который даст мне доступ к публичным перечислениям?

И что касается того, почему я так делаю, я не хочу иметь дело с макросохранением или выталкивать макрос нескольким пользователям. Я также новичок в использовании VBA, поэтому может быть более простой метод, чем то, что я пытаюсь сделать.

Дайте мне знать, что вы думаете. Спасибо,

ответ

0

Выяснил это. Первоначально у меня создалось впечатление, что значения перечисления были объектами класса, но они просто целые.

Я обнаружил, что StoreObj.ExchangeStoreType

возвращает целое число, которое соответствует тому, что использует OlExchangeStoreType. Я просто воссоздаю перечисление в своем классе.

Спасибо,

Смежные вопросы