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

関連記事

  1. Office関連

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

    「Outlook 未読 件数 マクロ」といったキーワード検索でのアクセ…

  2. Office関連

    空白文字を一括置換するWordマクロ

    様々なWord文書を扱っていると、下図のように“同じ空白のように見えて…

  3. Office関連

    WordやExcelでミニ ツール バーを非表示(無効)にする。

    WordやExcel、PowerPointといったOffice製品で文…

  4. Office関連

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

    数日前、“PowerPointだとマクロにショートカットキーを割り当て…

  5. Office アドイン

    [Office用アプリ]Google ドライブでアプリを公開する方法

    今回は先日登壇した第一回 Apps for Office 勉強会の中で…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP