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関連

    目次を更新するWordマクロ

    文書の目次を更新するにはTableOfContentsオブジェクトのU…

  2. Office関連

    Google TTSで文字列を読み上げるマクロ

    2012/02/09 追記:関連記事・Google翻訳…

  3. Office アドイン

    [Office用アプリ]RSS表示アプリを作成する。

    ※ この情報はOffice 2013 カスタマー プレビュー版を元にし…

  4. Office関連

    各ページを画像に変換するWordマクロ

    Excel MVPの伊藤さんがブログで、WordのPageオブジェクト…

  5. Office関連

    Wordマクロで文字数を取得する方法をまとめてみました。

    「蛍光ペンでマークした部分の文字数をカウントするWordマクロ」で蛍光…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP