ApplicationFactory.HasVstoObject - метод
Возвращает значение, указывающее, был ли создан ведущий элемент Microsoft.Office.Tools.Word.Document для указанного собственного объекта документа.
Пространство имен: Microsoft.Office.Tools.Word
Сборка: Microsoft.Office.Tools.Word (в Microsoft.Office.Tools.Word.dll)
Синтаксис
'Декларация
Function HasVstoObject ( _
document As _Document _
) As Boolean
bool HasVstoObject(
_Document document
)
Параметры
- document
Тип: Microsoft.Office.Interop.Word._Document
Собственный объект документа для тестирования.Хотя этот параметр принадлежит к типу Microsoft.Office.Interop.Word._Document, как правило, этому методу передается объект Microsoft.Office.Interop.Word.Document.
Возвращаемое значение
Тип: System.Boolean
Возвращает true, если ведущий элемент Microsoft.Office.Tools.Word.Document был создан для собственного объекта Microsoft.Office.Interop.Word.Document; в противном случае возвращается false.
Заметки
Этот метод можно вызывать в надстройке уровня приложения для проверки существования управляемых элементов управления, которые требуется сохранить перед закрытием или сохранении документа Word. Пример, в котором демонстрируется сохранение элементов управления в документе Word, см. в разделе Word Add-In Dynamic Controls Sample.
Примечание
Параметр 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, предназначенном для .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);
}
}
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Microsoft.Office.Tools.Word - пространство имен
Другие ресурсы
Расширение документов Word и книг Excel в надстройках уровня приложения во время выполнения
Получение вложенных объектов из собственных объектов Office в настройках уровня документа