【Outlook】参照権のある他人の予定表を抽出する

Outlookで参照権のある予定表を抽出する方法のご紹介です。

Outlook予定表への参照権限

前に、フォルダ参照権しかないOutlook予定表を抽出する方法を書きました

予定表を抽出することはできるのですけどこれだと会議の主催者も使うリソース(会議室・設備)の情報も抜くことができません。「設備の使用実績集計してみて」って軽く言われたんですけどこれだとできないので、もうちょっと工夫が必要です。

結論を言うと予定表の読み取りに「全詳細情報」の権限があれば設備の利用実績をとることができます。
「全詳細情報」というと予定表のすべてを読み取れそうでどきっとしますが、個々の予定の詳細情報が読み取れるだけで非公開の予定は読み取れません。ちょっと趣旨がちがうのですが下記のページがよくまとまっていてわかりやすのでリンクを貼っておきます。

予定表アクセス権まとめ

全詳細情報の参照権のある予定表をEWSで抽出する

Exchange Web Service(EWS)を使えば参照権のある予定表を抽出することができます。EWSをつかうにはManaged APIを使うと楽です。Managed APIはMicrosoftがC#やVB.NetからAPI呼び出しでEWSを使うために作成したAPIですが今ではオープンソースとしてGit-Hubで開発されています。

OfficeDev/ews-managed-api

ダウンロードするには、Nugetを使えばできます

NuGet:Microsoft.Exchange.WebServices

できることはわかったものの、MicrosoftのサンプルソースがC#向けとかで使いにくかったので英語で検索したらPowerShellのサンプルソースが入手できました。

Glen’s Exchange and Office 365 Dev Blog
オンプレミス念頭なようなのでOffice365でも使えるようにして、複数ユーザ対応にしてGit-Hubに載せました。

全詳細情報の参照権のある予定表をExcel VBAで抽出する

VBではGetSharedDefaultFolder関数を使えば抽出できます。

Microsoft Officeデベロッパーセンター:getshareddefaultfolder メソッド

Excel VBAをつかったソースは下記のようになります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください