Office Scripts

[Office Scripts]任意の場所にあるスクリプトを実行する方法

通常、Office スクリプトを実行するPower Automateフローを作成者とは別のユーザーで実行すると、エラーが発生して上手くいきません。

この問題を上手く解決する方法をからめもさん( @karamem0 )さんが発見し、ブログ記事で公開してくださいました。

詳細は上記のからめもさんの記事をご参照いただきたいのですが、肝となるのは実行するスクリプトをファイルのIDから生成したスクリプトIDとして指定することで、早い話がアクセス可能であれば任意の場所にあるスクリプトを実行できるというわけですね。
さっそく実際にフローを動かして動作確認してみます。

スクリプトの準備

まずは実行するスクリプトを作成します。
動作確認が目的なので、引数として受け取った値をセルに書き込むだけの簡単なスクリプトです。

function main(workbook: ExcelScript.Workbook, value: string)
{
  workbook.getFirstWorksheet(true).getRange("A1").setValue(value);
}

上記スクリプトを「SrcScript.osts」として保存し、OneDrive上の適当なフォルダに移動しました。
作成したスクリプトは通常、OneDrive → ドキュメント → Office Scripts フォルダの中に「osts」ファイルとして保存され、移動してしまうとエディター上で表示されなくなり、「スクリプトの実行」アクションでスクリプトを選択する際にも候補として挙がってこなくなります。

任意の場所にあるスクリプトを実行するPower Automateフロー

スクリプトの準備が出来たら、Power Automateでフローを作成します。

フロー全体

1. パスによるファイル メタデータの取得

「パスによるファイル メタデータの取得」アクションでスクリプトファイル(osts)のIDを取得します。

2. 作成

「作成」アクションで下記式を実行し、取得したファイルIDを元にしてスクリプトIDを生成します。

@{concat(encodeUriComponent('ms-officescript://onedrive_business_itemlink/'), split(outputs('パスによるファイル_メタデータの取得')?['body/Id'], '.')[1])}

3. スクリプトの実行

最後にスクリプトを実行します。
ここでのポイントは「スクリプト」の値を「カスタム値」として、上記アクションで生成したスクリプトIDで指定することです。
また、スクリプトに渡すパラメーターが必要であれば、「ScriptParameters」で指定します。

実行画面

実際にフローを実行したときの画面は下図の通りで、問題無くスクリプトが動作していることが確認できます。

任意の場所にあるスクリプトが実行できるようになったことで、からめもさんがブログで書いているように、作成者でなくてもフローからスクリプトを実行できますし、実際に試してはいませんが動的に作成したスクリプトを実行することもできるでしょう。

からめもさんさん、素晴らしい手法を公開していただき、ありがとうございました!

関連記事

Power Automate DesktopのSQLステートメントの実行アクションを使ってクラウドフローを実行する方法前のページ

[Power Automate Desktop]PDFで指定したキーワードが含まれているページのみを印刷するフロー次のページ

関連記事

  1. Power Automate

    Google Apps ScriptとPower Automateの連携事例紹介

    今回の記事は、ガイアックスさん主催のイベント「Google Apps …

  2. Power Automate Desktop

    「はじめてのPower Automate Desktop」レビュー

    以前書いた記事でも紹介していますが、株式会社ASAHI Account…

  3. Office Scripts

    [Office Scripts]テーブルを追加する方法

    今回は、Office Scriptsのスクリプトでテーブルを作成する方…

  4. Office アドイン

    Office Scripts機能によってWeb版Excelで操作の記録ができるようになりました。

    昨年からずっと待ち続けていた「Office Scripts」機能、つい…

  5. Power Automate

    UIフローでデスクトップアプリの操作記録中にエラーが発生した件について

    2019/12/10 追記:UI フローアプリのインストーラーのフ…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP