私がしますマクロを作成したいと思いますよユーザーフォームのデータに基づいて電子メールテンプレートを作成します情報がちょうどuserformに書かれているVBA Outlookが
これを行うには、Wordのようなブックマークを使用できるかどうか疑問に思っていました。ブックマーク付きのメールテンプレートを作成し、userformのvalidation_click()イベントで置き換えることができます。
あなたはあなたの助け
私がしますマクロを作成したいと思いますよユーザーフォームのデータに基づいて電子メールテンプレートを作成します情報がちょうどuserformに書かれているVBA Outlookが
これを行うには、Wordのようなブックマークを使用できるかどうか疑問に思っていました。ブックマーク付きのメールテンプレートを作成し、userformのvalidation_click()イベントで置き換えることができます。
あなたはあなたの助け
をいただき、ありがとうございます(彼らは「[bookmark1]」そのように表示されません)私は、Web上の任意の例を見つけることができませんし、ブックマークは、Wordでのように動作していないようですOutlookでテンプレートを作成することを検討することがあります。あなたは(新しい項目が作成されたとき)は、後に交換することができますプレースホルダを定義することができるテンプレートで
Sub CreateTemplate()
Dim MyItem As Outlook.MailItem
Set MyItem = Application.CreateItem(olMailItem)
MyItem.Subject = "Status Report"
MyItem.To = "Eugene Astafiev"
MyItem.Display
MyItem.SaveAs Environ("HOMEPATH") &; "\My Documents\statusrep.oft", OlSaveAsType.olTemplate
End Sub
:MailItemのSaveAsメソッドは、ディスク上のテンプレートとしてアイテムを保存することができます。 ApplicationクラスのCreateItemFromTemplateメソッドは、Outlookテンプレート(.oft)から新しいMicrosoft Outlookアイテムを作成し、新しいアイテムを返します。
Sub CreateFromTemplate()
Dim MyItem As Outlook.MailItem
Set MyItem = Application.CreateItemFromTemplate("C:\statusrep.oft", _
Application.Session.GetDefaultFolder(olFolderDrafts))
MyItem.Save
End Sub
あなたはHow To: Create a new Outlook message based on a template記事は参考になりましかもしれません。
P.S. OutlookはWordを電子メールエディタとして使用します。したがって、アイテム本体を扱うときにWordオブジェクトモデルを使用できます。詳細については、Chapter 17: Working with Item Bodiesを参照してください。
ユニークなプレースホルダを使用してください。https://stackoverflow.com/questions/20130422/vb-outlook-macro-how-to-put-variable-fields-in-an-email-template – niton