他人の予定表を直接開くスクリプト


コメントにて以下のご要望をいただきました。


いつも参照させていただいております。

Outlookの起動オプションを使用して、他人の予定表を直接開く方法を教えてください。

Outlook.exe /select outlook:calendar では自分の予定を開くことはできるのですが、他人の予定表を開く方法がわかりません。

よろしくお願いいたします。


残念ながら、Outlook の起動オプションには他人の予定表を直接開くというものはありません。
おそらくはデスクトップなどにバッチファイルを置いて、それをダブルクリックして他人の予定表を開くというようなものを想定されていると思うのですが、スクリプトにより実現することができます。
下記のようなスクリプトを、例えば OpenOtherFolder.vbs というような名前で保存し、デスクトップにはそのスクリプトへのショートカットを作成します。
その際に、スクリプトのファイル名の後にスペースを空けて開きたいユーザーのメールアドレスを指定します。
例えば、c:\users\admin\desktop\OpenOtherFolder.vbs にスクリプトがあり、test@example.com というアドレスのユーザーの予定表を開きたい場合、ショートカット のリンク先として c:\users\admin\desktop\OpenOtherFolder.vbs test@example.com と指定します。
なお、このスクリプトで開く予定表には参照者以上の権限が必要になります。

' ここをトリプルクリックでスクリプト全体を選択できます。

Const olFolderCalendar = 9
If WScript.Arguments.Count > 0 Then
     Dim strAddress 'As String
     Dim olkApp 'As Outlook.Application
     Dim nsSess 'As Namespace
     Dim recOther 'As Recipient
     Dim fldOther 'As Folder
     ' スクリプトの引数からアドレスを取得
     strAddress = WScript.Arguments.Item(0)
     ' Outlook.Application オブジェクトを取得
     Set olkApp = CreateObject("Outlook.Application")
     Set nsSess = olkApp.Session
     ' アドレスから Recipient オブジェクトを作成
     Set recOther = nsSess.CreateRecipient(strAddress)
     recOther.Resolve
     ' 他のユーザーの予定表を取得し、開く
     Set fldOther = nsSess.GetSharedDefaultFolder(recOther, olFolderCalendar)
     fldOther.Display
End If

コメントを残す

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

WordPress.com ロゴ

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

Google フォト

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

Twitter 画像

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

Facebook の写真

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

%s と連携中