複数アカウントが設定されているプロファイルのメイン以外のアカウントの予定表を取得する方法


Outlook の予定表を CSV ファイルにエクスポートするマクロ Ver 2」のコメントにて以下のご質問をいただきました。


Outlook.comにて複数人(3名)の予定表を共有して貰っています。
Outlook2013では自分のアカウントは【個人の予定表】に表示されています。
共有して貰っている複数人(3名)の予定表は【その他の予定表】に表示されています。
で【その他の予定表】に関しては下記の記述で自己解決できたのです。

Set fldCalendar = Application.Session.GetDefaultFolder(olFolderCalendar).Folders(“××××”)
××××には【その他の予定表】に表示されている名前を入力

自分のアカウント【個人の予定表】はOutlook.comのアカウントを予定表を管理するアカウントとしており
メールの送受信は会社のメールアドレスをOutlook2013にアカウント登録しております。
その会社のメールアドレスのアカウントでも予定を管理開始しました。
また、別のアカウント(Outlook.com)を所得しOutlook2013に登録しこちらも予定を管理開始しました。
この二つのアカウントの予定表は【その他の予定表】ではなく
【個人の予定表】下記のような表示となっております。

予定表-aaaaa@Outlook.com
予定表-bbbbb@Outlook.com
予定表-ccccc@*******.com

今日まで予定表-aaaaa@Outlook.comの予定表をエクスポートさせるのには
下記の記述で問題ありませんでした。
Set fldCalendar = Application.Session.GetDefaultFolder(olFolderCalendar)

予定表-ccccc@*******.comの予定表をエクスポートさせるのに下記でチャレンジしましたが
エクスボートされません。
Set fldCalendar = Application.Session.GetDefaultFolder(“ccccc@*******.com”)
Set fldCalendar = Application.Session.GetDefaultFolder(“予定表-ccccc@*******.com”)

どのような記述にすれば良いのでしょうか?
よろしくお願い申し上げます。


Application オブジェクトの Session プロパティ (NameSpace オブジェクト) の GetDefaultFolder メソッドは、既定のアカウントのストアに紐づいているフォルダーしか取得ができません。
しかし、Account オブジェクトの DeliveryStore プロパティから取得した Store オブジェクトの GetDefaultFolder メソッドを使うと、そのアカウントに紐づいている予定表フォルダーなどが取得できます。

例えば、”bbbbb@outlook.com” の予定表を取得したい場合は、以下のようにします。

Dim objAcct As Account
Dim objStore As Store
Dim fldCalendar As Folder
' アカウントの取得
Set objAcct = Application.Session.Accounts("bbbbb@outlook.com")
' ストアの取得
Set objStore = objAcct.DeliveryStore
' 予定表の取得
Set fldCalendar = objStore.GetDefaultFolder(olFolderCalendar)

マクロの登録方法やメニューへの追加について

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中