Office関連

ユーザー設定フォームに基づいてメールを作成するOutlookマクロ

Outlookには「ユーザー設定フォーム」(Custom Forms)機能があり、メールやタスクといったアイテムを作成する際のユーザーインターフェイスをカスタマイズすることができます。

フォームにはフィールドを配置でき、ユーザー定義フィールドによって、任意の情報をアイテムに付加させることができます。

今回は、ユーザー設定フォームに基づいてメールを作成し、ユーザー定義フィールドの値を設定するマクロを紹介します。

メッセージ クラスの確認

マクロからユーザー設定フォームを取扱い際、まずはメッセージ クラスをフォームの選択画面で確認しておく必要があります。

VBAコード

ItemsオブジェクトのAddメソッドの引数にメッセージ クラスを指定することで、指定したユーザー設定フォームに基づいてメールを作成できます。

また、UserPropertyオブジェクトのValueプロパティを利用することで、ユーザー定義フィールドの値を設定することができます。

Public Sub Sample01()
  With Application.GetNamespace("MAPI").GetDefaultFolder(olFolderDrafts)
    'メッセージ クラスを指定してアイテム作成
    With .Items.Add("IPM.Note.CustomMessage") 'Outlook.MailItem
      .Subject = "テストメール"
      .Body = "あいうえお" & vbNewLine & "かきくけこ"
      
      'UserPropertyオブジェクトのValueプロパティでユーザー定義フィールドの値を設定
      .UserProperties("郵便番号").Value = "903-0815"
      .UserProperties("住所1").Value = "沖縄県那覇市首里金城町1-2-3"
      .UserProperties("住所2").Value = "テストビル10階"
      
      .Display
    End With
  End With
End Sub

InspectorオブジェクトのModifiedFormPagesプロパティからPageオブジェクトを取得し、UserForm上のコントロールのようにフィールドを扱うこともできます。

Public Sub Sample02()
  Dim frm As Object
  
  With Application.GetNamespace("MAPI").GetDefaultFolder(olFolderDrafts)
    'メッセージ クラスを指定してアイテム作成
    With .Items.Add("IPM.Note.CustomMessage") 'Outlook.MailItem
      .Subject = "テストメール"
      .Body = "あいうえお" & vbNewLine & "かきくけこ"
      
      '「P.2」ページのコントロール操作
      Set frm = .GetInspector.ModifiedFormPages("P.2") 'MSForms.UserForm
      frm.Controls("TextBox1").Value = "903-0815"
      frm.Controls("TextBox2").Value = "沖縄県那覇市首里金城町1-2-3"
      frm.Controls("TextBox3").Value = "テストビル10階"
      
      .Display
    End With
  End With
End Sub

未読アイテムの件数を取得するOutlookマクロ前のページ

【感想】あかねのハネ1巻&2巻次のページ

関連記事

  1. Office関連

    Google スライドで新規プレゼンテーションを作成するVBAマクロ

    ここ数日PowerPointのマクロに加え、Google Apps S…

  2. Office アドイン

    [Office用アプリ]開発入門の記事を書かせていただきました。

    日経ソフトウエア 2014年3月号から連載の「Office用アプリ開発…

  3. Office関連

    住所から郵便番号を取得するVBAマクロ

    「住所から郵便番号 VBA」といったキーワード検索でのアクセスがあった…

  4. Office関連

    「ちゃうちゃう!」で2つの文書を比較するWordマクロ

    2014/08/10 追記:ちゃうちゃう!がバージョンアップされま…

  5. Office関連

    Microsoft Translator APIで文字列を翻訳するVBAマクロ

    以前書いた記事で、Google翻訳を使って文字列を翻訳するマクロを紹介…

  6. Office アドイン

    Office用アプリ(apps for Office)の概要と開発方法

    当ブログでもカテゴリー:JavaScript API for Offi…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

PAGE TOP