Поделиться через


DocumentExtensions.HasVstoObject Метод (2007 System)

Обновлен: Ноябрь 2007

Возвращает значение, указывающее, был ли создан ведущий элемент Word Microsoft.Office.Tools.Word.Document для текущего исходного документа Word Microsoft.Office.Interop.Word._Document.

Пространство имен:  Microsoft.Office.Tools.Word.Extensions
Сборка:  Microsoft.Office.Tools.Word.v9.0 (в Microsoft.Office.Tools.Word.v9.0.dll)

Синтаксис

'Декларация
<ExtensionAttribute> _
Public Shared Function HasVstoObject ( _
    document As _Document _
) As Boolean
'Применение
Dim document As _Document
Dim returnValue As Boolean

returnValue = document.HasVstoObject()
public static bool HasVstoObject(
    this _Document document
)

Параметры

  • document
    Тип: Microsoft.Office.Interop.Word._Document
    Расширяемый документ. Не предоставляйте этот параметр вручную. При вызове этого метода для документа Word данный параметр будет предоставлен средой выполнения.

Возвращаемое значение

Тип: System.Boolean
Возвращает true, если ведущий элемент документа был создан для текущего исходного документа Word; в противном случае возвращается значение false.

Примечание об использовании

В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа _Document. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе Методы расширения (Visual Basic) или Методы расширения (руководство по программированию в C#).

Заметки

Например, можно вызвать данный метод расширения в надстройке уровня приложения. Если данный метод возвращает значение true, то перед закрытием или сохранением документа Word можно проверить наличие в документе управляемых элементов управления. Пример, в котором демонстрируется сохранение элементов управления в документе Word, см. в разделе Пример динамических элементов управления в надстройках Word.

Cc472110.alert_note(ru-ru,VS.90).gifПримечание.

Параметр Document имеет тип Microsoft.Office.Interop.Word._Document, который является родительским интерфейсом для класса Microsoft.Office.Interop.Word.Document. Следовательно, этот метод расширяет оба типа: как Microsoft.Office.Interop.Word._Document, так и Microsoft.Office.Interop.Word.Document. Как правило, когда необходимо сослаться на документ Word, используется объект Microsoft.Office.Interop.Word.Document.

Примеры

В приведенном ниже примере кода проверяется, существует ли для текущего документа связанный ведущий элемент, и если такой элемент существует, он возвращается. Если в документе имеются управляемые элементы управления, в примере выводится предупреждение о том, что такие элементы управления не будут сохранены при сохранении элемента. В данном примере кода для выполнения подобной проверки используется обработчик событий DocumentBeforeSave. Чтобы использовать данный код, запустите его из класса ThisAddIn в проекте надстройки Word.

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

    If Doc.HasVstoObject() = True Then
        Dim vstoDoc As Document = Doc.GetVstoObject()
        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 (Doc.HasVstoObject() == true)
    {
        Document vstoDoc = 
            this.Application.ActiveDocument.GetVstoObject();
        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);
        }
    }
}

Разрешения

См. также

Ссылки

DocumentExtensions Класс

DocumentExtensions - члены

Microsoft.Office.Tools.Word.Extensions - пространство имен

Другие ресурсы

Пример динамических элементов управления в надстройках Word

Методы расширения (руководство по программированию в C#)

Методы расширения (Visual Basic)