Веб-розширення
Веб-розширення
Цей посібник показує, як читати та змінювати метадані панелі завдань Office Add-in, вбудовані у файл .docx за допомогою Aspose.Words FOSS для .NET. Aspose.Words FOSS для .NET може читати та змінювати веб-розширення (Office Add-in) панелі завдань, вбудовані у файл .docx — метадані, які асоціюють документ з Office Add-in та прив’язують його до даних документа — через Document.WebExtensionTaskPanes та модель об’єктів TaskPane/WebExtension.
Панелі завдань
Document.WebExtensionTaskPanes повертає TaskPaneCollection TaskPane об’єктів. Кожен TaskPane описує, де і як панель додатку закріплена: DockState (TaskPaneDockState Right або Left), Row, Width, IsLocked та IsVisible, а також властивість WebExtension, що посилається на сам додаток.
Ідентифікація та посилання веб-розширення
WebExtension ідентифікує додаток за допомогою Id та IsFrozen, а його властивість Reference (WebExtensionReference) розкриває Id, Version, Store та StoreType (WebExtensionStoreType, такий як SPCatalog, Exchange або FileSystem), що описують, звідки розповсюджується додаток. AlternateReferences містить WebExtensionReferenceCollection резервних посилань.
Прив’язки та користувацькі властивості
WebExtension.Bindings — це WebExtensionBindingCollection WebExtensionBinding об’єктів, кожен з яких створюється як new WebExtensionBinding(id, bindingType, appRef) і зв’язує частину даних документа з надбудовою через WebExtensionBindingType (Matrix, Table або Text). WebExtension.Properties — це WebExtensionPropertyCollection простих пар WebExtensionProperty ім’я/значення, створених як new WebExtensionProperty(name, value), що використовується для специфічних для надбудови налаштувань, які не потребують повного зв’язку.
Членство в колекції
TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection та WebExtensionReferenceCollection усі ділять одну й ту ж базову поведінку колекції: Add(item), Clear(), Remove(index), GetEnumerator() та Count.
Поради та кращі практики
- Перевірте
TaskPane.IsVisible, перш ніж припускати, що панель надбудови наразі показана користувачеві — панель завдань може бути зареєстрована, але прихована. WebExtensionReference.StoreTypeповідомляє, звідки була отримана надбудова (каталог, Exchange, файлова система, реєстр); використовуйте його, щоб розрізнити офіційні надбудови від завантажених вручну.- Зв’язки прив’язують конкретний
WebExtensionBindingType(матрицю, таблицю або простий текст) до даних документа — перевірте тип зв’язки, перш ніж припускати, яку форму даних очікує надбудова. - Використовуйте
WebExtension.Propertiesдля простих пар ім’я/значення у налаштуваннях надбудови, а не намагайтеся зберігати їх в іншому місці документа.
Загальні проблеми
| Проблема | Причина | Виправлення |
|---|---|---|
Document.WebExtensionTaskPanes порожній | У документі не зареєстровано жодних надбудов Office | Переконайтеся, що джерело .docx дійсно вбудовує панель завдань, перш ніж припускати, що API пошкоджений |
| Неможливо визначити, з якого магазину походить надбудова | StoreType не перевірено | Прочитайте WebExtensionReference.StoreType разом з Store, щоб отримати повну картину. |
| Дані прив’язки не відповідають очікуванням | Невідповідність типу прив’язки | Перевірте WebExtensionBinding.BindingType (Matrix, Table, Text) перед використанням прив’язаних даних |
FAQ
Як знайти всі Office Add-ins, зареєстровані в документі?
Перерахувати Document.WebExtensionTaskPanes (a TaskPaneCollection); кожен TaskPane.WebExtension дає вам ідентифікатор та конфігурацію додатка.
Чи можу я додати нове прив’язування веб-розширення або властивість за допомогою цього API?
Так — колекції (WebExtensionBindingCollection, WebExtensionPropertyCollection тощо) підтримують Add(), тому ви можете створювати та додавати нові об’єкти WebExtensionBinding/WebExtensionProperty до існуючого WebExtension.
Що саме прив’язує WebExtensionBinding?
Він зв’язує частину даних документа з додатком, використовуючи WebExtensionBindingType (Matrix, Table або Text) для опису структури цих даних.
Як прочитати користувацькі налаштування надбудови, збережені в документі?
Ітеруйте WebExtension.Properties (a WebExtensionPropertyCollection); кожен WebExtensionProperty надає пару Name/Value.
API Reference Підсумок
| Клас / Метод | Опис |
|---|---|
Document.WebExtensionTaskPanes | TaskPaneCollection панелей завдань, зареєстрованих у документі |
TaskPane | Одна панель надбудови: DockState, Row, Width, IsVisible, IsLocked, WebExtension |
WebExtension | Ідентифікатор надбудови: Id, IsFrozen, Reference, Bindings, Properties |
WebExtensionReference | Джерело надбудови: Id, Version, Store, StoreType |
WebExtensionBinding | Пов’язує дані документа з надбудовою через WebExtensionBindingType |
WebExtensionProperty | Користувацьке налаштування надбудови як пара Name/Value pair |