FunctionFile 要素
次のいずれかの方法でアドインが公開する操作のソース コード ファイルを指定します。
- UI を表示する代わりに JavaScript 関数を実行するアドイン コマンド。
- JavaScript 関数を実行するキーボード ショートカット。
アドインの種類: 作業ウィンドウ、メール
次の VersionOverrides スキーマでのみ有効です。
- 作業ウィンドウ 1.0
- メール 1.0
- メール 1.1
詳細については、「 マニフェストでのバージョンのオーバーライド」を参照してください。
<FunctionFile> 要素は、DesktopFormFactor または MobileFormFactor の子要素です。 FunctionFile> 要素の<属性は resid
32 文字以内で指定でき、Control 要素で定義されているように、関数コマンド ボタンで使用されるすべての JavaScript 関数を格納または読み込む HTML ファイルへの URL を含む Resources 要素の Url 要素の属性<>の値id
に設定されます。
注:
アドインが共有ランタイムを使用するように構成されている場合、コード ファイル内の関数は、アドインの作業ウィンドウ (存在する場合) の JavaScript と同じ JavaScript ランタイム (および共通のグローバル名前空間を共有) で実行されます。
<FunctionFile> 要素と関連するコード ファイルには、カスタム キーボード ショートカットを使用して再生する特別なロールもあります。この場合は、共有ランタイムが必要です。
FunctionFile 要素の例を次に <示> します。
<DesktopFormFactor>
<FunctionFile resid="Commands.Url" />
<ExtensionPoint xsi:type="PrimaryCommandSurface">
<!-- Information about this extension point. -->
</ExtensionPoint>
<!-- You can define more than one ExtensionPoint element as needed. -->
</DesktopFormFactor>
...
<Resources>
<bt:Urls>
<bt:Url id="Commands.Url" DefaultValue="https://www.contoso.com/commands.html" />
</bt:Urls>
<!-- Define other resources as needed. -->
</Resources>
FunctionFile> 要素によって示される HTML ファイル内の< JavaScript は、Office.jsを初期化し、単一のパラメーターである event を受け取る名前付き関数を定義する必要があります。 また、実行が終了したときに event.completed を呼び出す必要もあります。 Outlook アドインの関数では、 通知 API を 使用して、進行状況、成功、または失敗をユーザーに示す必要があります。 関数の名前は、関数コマンド ボタンの FunctionName 要素で使用されます。
FunctionName 要素によって指定された関数を<、HTML ファイルによって読み込まれる別の JavaScript ファイルに定義して登録できます。> このようなファイルの例を次に示します。
// Initialize the Office Add-in.
Office.onReady(() => {
// If needed, Office.js is ready to be called
});
// The command function.
async function highlightSelection(event) {
// Implement your custom code here. The following code is a simple Excel example.
try {
await Excel.run(async (context) => {
const range = context.workbook.getSelectedRange();
range.format.fill.color = "yellow";
await context.sync();
});
} catch (error) {
// Note: In a production add-in, notify the user through your add-in's UI.
console.error(error);
}
// Calling event.completed is required. event.completed lets the platform know that processing has completed.
event.completed();
}
// You must register the function with the following line.
Office.actions.associate("highlightSelection", highlightSelection);
重要
への event.completed
呼び出しは、イベントが正常に処理されたことを通知します。 同一のアドイン コマンドを複数回クリックするなど、関数を複数回呼び出すと、すべてのイベントが自動的にキューに入れられます。 最初のイベントが自動的に実行され、その他のイベントはキューに残ります。 関数が を呼び出 event.completed
すと、その関数に対する次のキューに登録された呼び出しが実行されます。 を呼び出す event.completed
必要があります。それ以外の場合、関数は実行されません。
Office Add-ins
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示