次の方法で共有


MailEnvelope クラス

現在のフォームを添付ファイルとして送信するカスタム電子メール メッセージを表します。

名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (microsoft.office.infopath.dll 内)

構文

'宣言
Public MustInherit Class MailEnvelope
'使用
Dim instance As MailEnvelope
public abstract class MailEnvelope

コメント

MailEnvelope クラスには、現在開かれている InfoPath フォームを添付して送信するカスタム電子メール メッセージをプログラムで作成するために使用できるプロパティが用意されています。電子メール アドレスおよびその他のプロパティを指定した後、MailEnvelope クラスの Visible プロパティを true に設定すると、電子メール メッセージの各フィールド、[送信] ツール バー、および [電子メール オプション] 作業ウィンドウがフォームと共に表示されて、ユーザーは電子メール メッセージを送信する前にその内容を確認して変更または追加を行えるようになります。MailEnvelope オブジェクトを使用してコードを記述するのは、InfoPath でフォームを編集する際に [ファイル] メニューの [メールの宛先に送信] コマンドを使用するのと同じです。

メモメモ :

MailEnvelope クラスを使用して、作成した電子メール メッセージを送信することはできません。InfoPath で [送信] ボタンをクリックして、ユーザーが手動で電子メール メッセージを送信する必要があります。

または、View クラスの ShowMailItem メソッドを使用して、フォームが添付された電子メール メッセージをプログラムで作成することもできます。また、フォーム テンプレートが電子メール メッセージとして送信されるように構成されている場合は、EmailSubmitConnection クラスのプロパティとメソッドを使用して、電子メール メッセージの添付ファイルとしてフォームをプログラムで作成して送信できます。

次の例では、Window クラスの EmailSubmitConnection プロパティを使用して、現在のフォームの MailEnvelope オブジェクトへの参照を設定します。Available プロパティを使用して、フォームが Microsoft Office Outlook 2007 で開かれているかどうかを確認します。このアプリケーションで開かれている場合は、Available プロパティが false を返し、次のコードは実行されません。Available プロパティが true を返した場合は、フォームは InfoPath で開かれていて、初期アドレス、件名、および紹介文の各値が指定されています。次に、MailEnvelope クラスの EmailAttachmentType プロパティを使用して、フォーム データとフォーム テンプレートの両方がメッセージに含まれるように構成します。最後に、MailEnvelope クラスの Visible プロパティを true に設定し、InfoPath から電子メール メッセージを送信するために電子メール メッセージの各フィールド、[送信] ツール バー、および [電子メール オプション] 作業ウィンドウが表示されるようにします。

// Set a reference to MailEnvelope object.
MailEnvelope myEnvelope = this.Application.ActiveWindow.MailEnvelope;

// Check to see if form is open in Outlook 2007.
if (myEnvelope.Available)
{
   // Specify addresses, subject, and introduction.
   myEnvelope.To = "someone@example.com";
   myEnvelope.CC = "someone@example.com";
   myEnvelope.BCC = "someone@example.com";
   myEnvelope.Subject = "Open this form";
   myEnvelope.Introduction = "InfoPath is required to edit this form.";

   // Include form template with form.
   myEnvelope.EmailAttachmentType = EmailAttachmentType.XmlXsn;

   // Display form with e-mail envelope.
   myEnvelope.Visible = true;
}
else
{
   // The form is open in Outlook 2007, and code will not run.
   MessageBox.Show("This form is open in Outlook 2007.");
}
' Set a reference to MailEnvelope object.
Dim myEnvelope As MailEnvelope  = _
   Me.Application.ActiveWindow.MailEnvelope;

' Check to see if form is open in Outlook 2007.
If (myEnvelope.Available) Then
   ' Specify addresses, subject, and introduction.
   myEnvelope.To = "someone@example.com"
   myEnvelope.CC = "someone@example.com"
   myEnvelope.BCC = "someone@example.com"
   myEnvelope.Subject = "Open this form"
   myEnvelope.Introduction = "InfoPath is required to edit this form."

   ' Include form template with form.
   myEnvelope.EmailAttachmentType = EmailAttachmentType.XmlXsn

   ' Display form with e-mail envelope.
   myEnvelope.Visible = True
Else
   ' The form is open in Outlook 2007, and code will not run.
   MessageBox.Show("This form is open in Outlook 2007.")
End If

継承階層

System.Object
  Microsoft.Office.InfoPath.MailEnvelope

スレッド セーフ

この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

関連項目

参照

MailEnvelope のメンバ
Microsoft.Office.InfoPath 名前空間