Sdílet prostřednictvím


ApplicationFactory.HasVstoObject – metoda

Vrátí hodnotu, která označuje, zda byla vytvořenaMicrosoft.Office.Tools.Word.Documenthostitelpoložka zadané nativní objektdokumentu.

Obor názvů:  Microsoft.Office.Tools.Word
Sestavení:  Microsoft.Office.Tools.Word (v Microsoft.Office.Tools.Word.dll)

Syntaxe

'Deklarace
Function HasVstoObject ( _
    document As _Document _
) As Boolean
bool HasVstoObject(
    _Document document
)

Parametry

Vrácená hodnota

Typ: System.Boolean
true Pokud Microsoft.Office.Tools.Word.Documentbyla vytvořenapoložkahostitelurčeném pro Microsoft.Office.Interop.Word.Documentobjekt; jinak false.

Poznámky

Tuto metoda lze volat v aplikace-úroveň doplněk test existenci spravovaný ovládací prvky, které chcete před zavřením nebo uložení dokumentu aplikace Word zachovány. Vzorek, který demonstruje přetrvávají ovládací prvky v dokumentu aplikace Word, naleznete v Word Add-In Dynamic Controls Sample.

Poznámka

document Typ parametru je Microsoft.Office.Interop.Word._Document, která je nadřazená rozhraní Microsoft.Office.Interop.Word.Document. Tuto metoda lze proto přijmout obou typů objektů: Microsoft.Office.Interop.Word._Documentand Microsoft.Office.Interop.Word.Document. Obvykle při odkazu na dokument aplikace Word použít Microsoft.Office.Interop.Word.Document.

Příklady

Následující příklad kódu zkontroluje, zda aktuální dokument má přidružených hostitel položka a pokud ano, získává hostitel položka. Pokud spravovaný ovládací prvky v dokumentu, příklad zobrazí upozornění . Příklad kódu používá obsluze událost DocumentBeforeSave událost pro provedení kontroly. Chcete-li použít tento kód spustit z ThisAddIn třída v slovo doplněk projekt , který zaměřuje .NET Framework 4.

Private Sub Application_DocumentBeforeSave( _
    ByVal Doc As Microsoft.Office.Interop.Word.Document, _
    ByRef SaveAsUI As Boolean, _
    ByRef Cancel As Boolean) Handles Application.DocumentBeforeSave

    If Globals.Factory.HasVstoObject(Doc) = True Then
        Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Doc)
        If vstoDoc.Controls.Count > 0 Then
            System.Windows.Forms.MessageBox.Show( _
                "The VSTO controls are not persisted when you save this document.", _
                "Controls Persistence", _
                System.Windows.Forms.MessageBoxButtons.OK, _
                System.Windows.Forms.MessageBoxIcon.Warning)
        End If
    End If
End Sub
void Application_DocumentBeforeSave(
    Microsoft.Office.Interop.Word.Document Doc, ref bool SaveAsUI, 
    ref bool Cancel)
{
    if (Globals.Factory.HasVstoObject(Doc) == true)
    {
        Document vstoDoc = Globals.Factory.GetVstoObject(Doc);
        if (vstoDoc.Controls.Count > 0)
        {
            System.Windows.Forms.MessageBox.Show(
                "The VSTO controls are not persisted when you save this document.",
                "Controls Persistence",
                System.Windows.Forms.MessageBoxButtons.OK,
                System.Windows.Forms.MessageBoxIcon.Warning);
        }
    }
}

Zabezpečení rozhraní .NET Framework

Viz také

Odkaz

ApplicationFactory Rozhraní

Microsoft.Office.Tools.Word – obor názvů

Další zdroje

Extending Word Documents and Excel Workbooks in Application-Level Add-ins at Run Time

Getting Extended Objects from Native Office Objects in Document-Level Customizations

Word Add-In Dynamic Controls Sample