【SharePoint Online】リボンメニューにJavascriptを仕込む【SharePoint Designer】

2020年1月11日

今回はSPOの小ネタ的なことを書いておこうかなと思います。
各種ページやフォームでカスタムしたアクションをユーザーに提供したい場合に利用できる方法として、
リボンの作成があります。

2019/07/02 追記
この設定は、一旦ユーザー設定のアクションを別の機能として保存してあげてから出ないと正常に保存ができないようです。
例えば、[一旦通常のフォームへの移動]で保存してあげてから、[URLへの移動]に変更してあげる必要がありました。

通常だと、フォームへの移動、ワークフローの実行、URLへの遷移がありますが、実はJavascriptも実行することができます。
サンプルとして今回はDispFormにJavascriptを仕込んだ際のコードを上げます。
以下を見てください。

javascript:var script = document.createElement("script");script.src = "/sites/【サイト名】/【JSファイル】";var head = document.getElementsByTagName("head");head[0].appendChild(script);

上記を1行として【URLへの移動】に貼り付けます。

コードとしては単純で、headタグ内にJSを仕込んで実行するという動作となります。

直接コードを書いても実行できますが、冗長になって管理も煩わしいので、ファイルとして参照してあげるほうが良いでしょう。

関数だけを呼び出す

上記のようにJS自体を読み込まず、関数だけを呼び出す方法もあります。
例として、スクリプトエディタ内でJSをあらかじめ読み込み、
「test」という関数を作成しておけば、リボンでは以下のように関数を宣言してあげるだけです。

javascript:test()

ファイルごと読み込む必要がなければ
こちらのほうがシンプルでいいかもしれませんね。

それではまた。