共用方式為


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

執行緒安全

此型別的所有公用靜態 (於 Visual Basic 共用) 成員都是執行緒安全。但並不保證所有執行個體成員為執行緒安全。

請參閱

參考

MailEnvelope 成員
Microsoft.Office.InfoPath 命名空間