2017-02-14 3 views
2

VBAを使用してOutlook.ExchangeUserオブジェクトからいくつかのプロパティを取得しようとしています。 VBAを使用して拡張属性をプルすることが可能ですVBAを使用してMicrosoft Exchangeカスタム/拡張属性をプルしますか?

  1. :私はExchange extended attributes

    質問を使用して保存されているように見えるいくつかのデータを除いて、私は必要なもののほとんどを引くことができますか?

  2. もしそうなら、どうですか?私は、Exchangeユーザーオブジェクトを使用してプロパティを引っ張ることができ

    ... 
    Dim myOlApp As Outlook.Application 
    Dim addrList As AddressList 
    Dim exchUser As Oulook.ExchangeUser 
    ... 
    Set myOlApp = CreateObject("Outlook.Application") 
    Set addrList = myOlApp.GetNamespace("MAPI").addressLists("SOMELIST") 
    Set exchUser = addrList.addressEntries("doe, john").GetExchangeUser 
    ... 
    

    :ここ

は私がやっているのアイデアを与えるためにいくつかのコードである(これは、Microsoft Excelファイル内のVBAコードです) 。すなわち...

MsgBox ("User company name: " + exchUser.CompanyName) 

私は拡張属性を引っ張って上記のような何かをしようとした場合、私は、「オブジェクトはこのプロパティまたはメソッドをサポートしていません」などのエラーが発生します。私はhereからスキーマを持っ

exchUser.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x802D001E") 

...

exchUser.msExchangeAttributeX '(where X is a number from 1-15) 
exchUser.ms-Exch-Extension-Attribute-X 
exchUser.CustomAttributeX 
exchUser.ExtensionCustomAttributeX 

は私もPropertyAccessorをを使用してみましたが、私はそれが正しいと肯定的ではないよ:私は無駄に以下を試してみました。私はそれを試みるときにエラーを起こさない、それはちょうど空に戻る(何も引っ張られない)。私は他の人を試すことができるようにプロパティタグのリストを探してみましたが、見つけられないようです。誰かがそれらを得るためにどこを知っていれば、それはあまりにも助けることができます。

何か助けていただければ幸いです。ありがとう!

答えて

0

私は必要なものにアクセスする方法を見つけました。基本的には、正しいプロパティタグを見つけたら、プロパティアクセサを使用して終了しました。私の場合(拡張属性#7の場合)正しいものは "0x8033001F"でした。だから私は使用:類似の必要性が、おそらく別の拡張属性を持つ人のため

exchUser.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x8033001F") 

を、私はダウンロードしOutlookSpy(または同様のツール)をインストールお勧めします。これは、私がMicrosoftのドキュメントを閲覧することでそれを見つけることができなかったため、正しいプロパティタグを発見できた唯一の方法です。

これが誰かを助けることを願っています!

関連する問題