Office関連

代理人アクセスによって予定を追加するOutlookマクロ

先日久々にmougの質問に回答しました。

マクロを使って、Exchangeで代理人アクセス権が設定されたユーザーから新規予定を作成したい、というもので、処理としてはNameSpace.GetSharedDefaultFolderメソッドを使って指定したユーザーのフォルダに切り替えた後、新規アイテムを作成すればOKです。

Public Sub Sample()
  Dim rp As Outlook.Recipient
  Dim itm As Outlook.AppointmentItem
  
  Set rp = Application.Session.CreateRecipient([代理人アクセスを付与されたアドレスや名前])
  rp.Resolve
  If rp.Resolved Then
    With Application.Session.GetSharedDefaultFolder(rp, olFolderCalendar)
      Set itm = .Items.Add(Type:=olAppointmentItem)
      With itm
        .Subject = "テスト予定"
        .Body = "予定本文"
        .Recipients.Add "[宛先]" '宛先追加
        .MeetingStatus = olMeeting
        .ResponseRequested = False
        .Send
      End With
    End With
  End If
End Sub

下記ページのようにすれば、共有している他の人の予定を取得することができるので、Exchange環境であれば比較的出番の多いメソッドかもしれません。

関連記事

  1. Office関連

    [Mayhem]PowerPointマクロにショートカットキーを割り当てる。

    2012/4/20 追記:クイックアクセスツールバーのメニューを利用す…

  2. Office関連

    インストールされているアプリケーション一覧を取得するVBAマクロ

    端末にインストールされているアプリケーション名を調べる必要があったので…

  3. Office関連

    【2017年7月版】ポータブル デバイスからファイルをコピーするVBAマクロ

    4年ほど前に、PCに接続したスマートフォン等のWindows ポータブ…

  4. Office アドイン

    [Office用アプリ]Excel 2013の操作を動画で学べるアプリ「Excel video tu…

    Excel 2013の操作を動画で学べるアプリがMicrosoftから…

  5. Office関連

    [リボン・カスタマイズ]カスタムタブを共有する。

    ※ 2015/2/18 コードに一部誤りがあったので修正しました。…

  6. Office関連

    [Excel Services ECMAScript]アクティブなシート名を取得する。

    埋め込んだExcelワークブックのアクティブなシート名を取得するコード…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP