Udostępnij za pośrednictwem


Metoda ApplicationFactory.HasVstoObject —

Zwraca wartość, która wskazuje, czy Microsoft.Office.Tools.Word.Document hosta element został utworzony dla obiektu określonego dokumentu macierzystego.

Przestrzeń nazw:  Microsoft.Office.Tools.Word
Zestawy:   Microsoft.Office.Tools.Word (w Microsoft.Office.Tools.Word.dll)
  Microsoft.Office.Tools.Word.v4.0.Utilities (w Microsoft.Office.Tools.Word.v4.0.Utilities.dll)

Składnia

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

Parametry

Wartość zwracana

Typ: System.Boolean
true Jeśli Microsoft.Office.Tools.Word.Document hosta element został utworzony dla określonego Microsoft.Office.Interop.Word.Document zgłasza zastrzeżeń; w przeciwnym razie false.

Uwagi

Tę metodę można wywołać w poziomie aplikacji dodatek do sprawdzania istnienia zarządzane formanty, które chcesz utrwalić przed zamknięciem lub zapisanie dokumentu programu Word.Przykładowy demonstruje, jak utrzymują się formantów w dokumencie programu Word, zobacz Word Add-In Dynamic Controls Sample.

[!UWAGA]

document Parametr jest typu Microsoft.Office.Interop.Word._Document, który jest interfejsem nadrzędnej Microsoft.Office.Interop.Word.Document.W związku z tym, ta metoda może akceptować obiekty obu typów: Microsoft.Office.Interop.Word._Document i Microsoft.Office.Interop.Word.Document.Zazwyczaj, gdy odwołanie do dokumentu programu Word, możesz wykorzystać Microsoft.Office.Interop.Word.Document.

Przykłady

Poniższy przykład kodu sprawdza, czy bieżący dokument ma element skojarzony hosta, a jeśli tak, to pobiera element hosta.Jeśli istnieją formanty zarządzane w dokumencie, przykład wyświetla komunikat ostrzegawczy, informujący użytkownika, że zarządzane formanty nie zostaną utrwalone podczas zapisywania dokumentu.W tym przykładzie kodu użyto programu obsługi zdarzeń z DocumentBeforeSave zdarzenie, aby sprawdzać.Aby użyć tego kodu, uruchomić go z ThisAddIn klasy w Word dodać w projekt, który jest przeznaczony dla .NET Framework 4 lub .NET Framework 4.5.

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);
        }
    }
}

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

ApplicationFactory Interfejs

Przestrzeń nazw Microsoft.Office.Tools.Word

Inne zasoby

Rozszerzanie dokumenty programu Word oraz skoroszyty programu Excel w dodatki poziomie aplikacji w czasie wykonywania

Dostosowania poziomu dokument programowania

Word Add-In Dynamic Controls Sample