Web 拡張機能
Web拡張機能
このガイドでは、.docx ファイルに埋め込まれた Office Add-in タスク ペイン メタデータを、Aspose.Words FOSS for .NET を使用して読み取りおよび変更する方法を示します。Aspose.Words FOSS for .NET は、.docx ファイルに埋め込まれた Web Extension(Office Add-in)タスク ペインを読み取りおよび変更でき、これらはドキュメントと Office Add-in を関連付け、ドキュメント データにバインドするメタデータです — Document.WebExtensionTaskPanes と TaskPane/WebExtension オブジェクト モデルを通じて実行します。
タスク ペイン
Document.WebExtensionTaskPanes は、TaskPane オブジェクトの TaskPaneCollection を返します。各 TaskPane は、アドインのペインがどこに、どのようにドッキングされるかを記述します: DockState(Right または Left の TaskPaneDockState)、Row、Width、IsLocked、および IsVisible、さらにアドイン自体へのリンクを示す WebExtension プロパティです。
Web Extension のアイデンティティと参照
WebExtension は、Id と IsFrozen によってアドインを識別し、その Reference プロパティ(WebExtensionReference)は、Id、Version、Store、および StoreType(SPCatalog、Exchange、または FileSystem のような WebExtensionStoreType)を公開し、アドインが配布される場所を記述します。AlternateReferences はフォールバック参照の WebExtensionReferenceCollection を保持します。
バインディングとカスタムプロパティ
WebExtension.Bindings は WebExtensionBindingCollection であり、WebExtensionBinding オブジェクトの集合です。各オブジェクトは new WebExtensionBinding(id, bindingType, appRef) として構築され、WebExtensionBindingType(Matrix、Table、または Text)を介してドキュメント データの一部をアドインにリンクします。WebExtension.Properties は単純な WebExtensionProperty 名/値ペアの WebExtensionPropertyCollection で、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 Add-ins が登録されていません | ソース .docx が実際にタスク ペインを埋め込んでいることを確認してから、API が壊れていると仮定してください |
| アドインがどのストアから来たか判別できません | StoreType がチェックされていません | 全体像を把握するには、WebExtensionReference.StoreType と Store を併せてお読みください |
| バインディング データが期待と一致しません | バインディングの型が一致しません | バインドされたデータを使用する前に、WebExtensionBinding.BindingType(Matrix、Table、Text)を確認してください |
FAQ
ドキュメントに登録されているすべての Office アドインをどうやって見つけますか?
列挙 Document.WebExtensionTaskPanes(TaskPaneCollection);各 TaskPane.WebExtension はアドインの識別子と構成を提供します。
この API で新しい Web 拡張バインディングまたはプロパティを追加できますか?
はい — コレクション(WebExtensionBindingCollection、WebExtensionPropertyCollection など)は Add() をサポートしているため、既存の WebExtension に新しい WebExtensionBinding/WebExtensionProperty オブジェクトを構築して追加できます。
WebExtensionBinding は実際に何にバインドしますか?
それはドキュメントのデータの一部をアドインにリンクし、そのデータの形状を記述するために WebExtensionBindingType(Matrix、Table、または Text)を使用します。
ドキュメントに保存されているカスタムアドイン設定はどのように読み取りますか?
WebExtension.Properties を反復処理します(WebExtensionPropertyCollection); 各 WebExtensionProperty は Name/Value のペアを公開します。
API Reference の概要
| クラス / メソッド | 説明 |
|---|---|
Document.WebExtensionTaskPanes | ドキュメントに登録されているタスク ペインの TaskPaneCollection |
TaskPane | 1つのアドイン パネル: DockState, Row, Width, IsVisible, IsLocked, WebExtension |
WebExtension | アドインの ID: Id, IsFrozen, Reference, Bindings, Properties |
WebExtensionReference | アドインのソース: Id, Version, Store, StoreType |
WebExtensionBinding | ドキュメント データを WebExtensionBindingType 経由でアドインにリンクします |
WebExtensionProperty | カスタム アドイン設定は Name/Value のペアです |