Excel内のVBAスクリプト内のAddressListのAddressEntriesプロパティにアクセスしようとしています。リストは、Exchange Serverに格納されている連絡先を含むグローバルアドレス一覧です。AddressListオブジェクト(Outlook VBA)からAddressEntriesオブジェクトにアクセスできない
私も、次のコードを実行しようとすると、それは私にエラーを与える:ここで
Run-time error '287': Application-defined or object-defined error
は、私が実行しようとしているベアボーンコードです。デバッガは、私がAddressEntriesにアクセスしようとする行で停止します。
Public Sub Test()
Dim appOL As Object
Dim mapiNamespace As Object
Dim GAL As AddressList, allGAL As AddressEntries
Set appOL = GetObject(, "Outlook.Application")
Set mapiNamespace = appOL.GetNamespace("mapi")
Set GAL = mapiNamespace.AddressLists("Global Address List")
Set allGAL = GAL.AddressEntries 'Debugger stops here
MsgBox allGAL.Count
End Sub
サーバーの設定によっては、リストのエントリへのアクセスを妨げるものがありますか。エントリを取得する他の方法はありますか?私の最終目標は、Excelファイルにある電子メールアドレスのリストに対応するエントリをリストから取得し、各エントリに電話番号プロパティにリストされている勤務先電話番号があるかどうかを確認することです。
編集: Image of Outlook graying out my options
設定アプリ
EDIT2:これはまだ私の2行目に同じエラーを与える
Set appOL = CreateObject("Outlook.Application")
Set oGAL = appOL.GetNamespace("MAPI").AddressLists("Global Address List").AddressEntries
コードを実行しているときにOutlookからアクセスが要求されましたか? Outlookでは「プログラムによるアクセス」が妨げられているため、エラーが発生する可能性があります。 [Here](https://social.technet.microsoft.com/Forums/ie/en-US/64c14bd3-0e7f-4ba9-b2bd-26cf62ce5883/how-to-stop-outlook-security-message-a-program-アクセスしようとしているアクセスしようとしているアクセスを有効にするための記事です。 – Alex
[この回答](https://stackoverflow.com/a/18406935/4717755)を見ましたか?それはちょっと違うようです。 – PeterT
@Alexあなたが何かに乗っているようです。私の管理者は、プログラムによるアクセスを混乱させるオプションをグレー表示しているようです(上記のedit&imageを参照してください) – takanuva15