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.
Примечание. |
---|
Параметр 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);
}
}
}
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Microsoft.Office.Tools.Word.Extensions - пространство имен
Другие ресурсы
Пример динамических элементов управления в надстройках Word