まだ書きかけだけど、晒します。
前記事に、Officeアドインの開発を試してみる方法があります。
ScriptLabとは
OfficeでJavaScript API を使えるようにする Add-In です。
ScriptLabは、Excel、Word、PowerPoint(Office 2013以降、Office Online、Office for Mac)で動作します。
ソースコードはのコミュニティに公開されています。
ScriptLabを使うと以下のことが出来るようになります。
- JavaScript、HTML、CSS、およびウェブ上のライブラリやデータへの参照を含むことができるコードスニペットの作成編集。
- スニペットを実行し、タスクペインとOfficeで即座に結果をに確認できます。
- サンプルを選択するだけで、簡単にお試しができます。
- GitHubGist を使ってスニペットを保存し共有することが出来ます。要GitHubアカウント
- IntelliSenseの助けを借りてJavaScript APIを学習できます。
- TypeScript2.0以上の機能が利用できます。例えば、ラムダ関数、テンプレート文字列、async / await
- Office Add-Inのプロトタイプ開発が手軽にできます。
ベータ版にすると、ユーザ定義関数を作成して使用できます。- 最新のProduction Version1.1.0(2018-06-01)ではユーザ定義関数が有効になりました。
インストール
他のソフトウェアをインストールしたり、環境を設定する必要はありません。
Officeを利用している限り、数秒で起動できます。
ExcelにScriptLabの導入は、挿入タブからストアをクリックしOfficeアドイン検索のScriptで見つかるので、追加します。
すると、リボンタブにScript Labのタグが表れます。
Script Groupに、Code,Run,Functionsがリボンとして表示されます。
Code
Script GroupのCodeをクリックするとExcelの右側に、Code窓が開きます。
最初はSamplesが窓中に表示されると思います。
一番左隅の三本線をクリックすると、黒い画面と三本線の隣に人型のアイコンが表示されるので、
それをクリックして、GITHUB にログインします。
一度ログインすると、次回から自動的にGITHUBに接続してくれます。(解除する方法はないのかな?)
+New snippetを押すと、Code/Scriptに以下のコードが表示されます。
$("#run").click(() => tryCatch(run));
async function run() {
await Excel.run(async (context) => {
OfficeHelpers.UI.notify("Your code goes here");
await context.sync();
});
}
/** Default helper for invoking an action and handling errors. */
async function tryCatch(callback) {
try {
await callback();
}
catch (error) {
OfficeHelpers.UI.notify(error);
OfficeHelpers.Utilities.log(error);
}
}
Run
リボンRunを押すと、Code/HTML の内容が表示されます。
<button id="run" class="ms-Button">
<span class="ms-Button-label">Run</span>
</button>
Functions
/** @CustomFunction */
function add10(x: number): number {
return x + 10;
}
をコード(スニペット名:Add10)に貼り付けて、functionsをリフレッシュすると使用出来るようになります。
=ScriptLab.Add10.add10(…)で呼び出せます。この場合、非同期なので、動作が少し遅いので、
ここを見て同期にすると返しが早くなります。
ScriptLabを使用しない場合
- 適当なディレクトリ(例えばC:Manufest)を作成します。
- 作成したディレクトリを右クリックで、アクセスを許可し、共有領域とします。
- サンプルのxmlファイルを共有にしたディレクトリにコピーします。
- nginxを立ち上げ、WEBアクセス出来るように、サンプルをコピーします。(ポート番号は同じにする)
- Excelのファイル/オプションでセキュリティセンターを開き、セキュリティセンターの設定を開きます。
- セキュリティセンターの設定から、信頼できるアドイン カタログを開きます。
- 信頼できるカタログのアドレスに、共有領域のフルパスを入力しカタログを追加します。
- その際に、メニューに表示するのチェックを忘れずに。
- 挿入タブから個人用アドインをクリックするとOffce アドインが表示されます。
- 共有ホルダーが登録することにより表示されるので、クリックすると追加したxmlの内容が表示されています。
- サンプルを選んで、追加ボタンを押すとアドインが追加されます。