PowerAutomate×Excel【スクリプトが見つかりません】を対策する

このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています
  • URLをコピーしました!

スクリプトが見つかりません_への対策を2つ紹介

AさんはPowerAutomateでOfficeスクリプトを実行したい様です。・・・しかしうまくいってないみたいですね。

Aさん

フロー自体は作成することができました。
実行すると私だけフローが通ります。

同じ環境に居るグループメンバーがフローを実行すると以下のようなエラーが出るようです。

スクリプトが見つかりません。共有が解除されたか、削除された可能性があります。のエラーメッセージ。
画像はクリックすると拡大されます

スクリプトが見つかりません。共有が解除されたか、削除された可能性があります。

Plat(プラット)

おそらく「スクリプトの実行」コネクタを使っていませんか?
このコネクタはグループ内でそのまま使うとエラーが出てしまいます。

Aさん

確かにそのコネクタを使っています。なぜ分かったのですか?
なにか対策はありますか?

Plat(プラット)

自身も経験したエラーなのでおおよそ見当がついた次第です。
もちろん対策はありますよ。2つの方法を紹介します。

エラーになる理由と対策を含めた3つのポイントをもとに今回のエラーについて考えていきましょう。

  • 理由-1:なぜスクリプトは自分以外の人と共有できないのか?
  • 対策-1:あらためてスクリプトを共有する
  • 対策-2:スクリプトを共有スペースに置き直す&別のフローを用意する

関連記事

Officeスクリプトについて簡単に解説しています。

関連書籍

こちらの書籍を使えばOfficeスクリプトを勉強することができます。

¥2,500 (2024/07/02 13:16時点 | Amazon調べ)
\楽天ポイント4倍セール!/
楽天市場
目次(リンク機能付き)

Officeスクリプトとは

まずはOfficeスクリプトについて説明します。ひと言で表現すると「Web版Excelのマクロ」です。

Officeスクリプトについてより知りたい方はこちら記事をご覧ください。

Officeスクリプトとは

理由-1:なぜスクリプトは自分以外の人と共有できないのか?

上のブロックで紹介した記事にも書いてあるのですがスクリプトが格納されている場所がキーになっています。

スクリプトの本体はOneDriveのマイファイルの中に格納されるから(デフォルト設定の場合)

これが答えです。個人のプライベート空間にスクリプトがあるので他者ではアクセスできません。

具体的にはスクリプトは以下パスの中に格納されています。

スクリプト作成者OneDrive→マイファイル→ドキュメント→Office Scripts→xxxxx.osts

よって対象のExcelを共有スペースに置いてフローを実行してもスクリプトに到達できずエラーになります。

グループ内のメンバーでスクリプトを共有するにはこの状態を変える必要があります。

対策-1:あらためてスクリプトを共有する

スクリプトを個人持ちにするのではなくグループで共有しようという考え方です。

Plat(プラット)

グループ内のメンバーがスクリプトに到達できるようにします。

スクリプトを共有する方法-1
画像はクリックすると拡大されます
スクリプトを共有する方法-1
STEP
「フローの管理」画面に進む

「スクリプトの実行」が用意されたフローの管理画面を表示させる。

STEP
「実行のみのユーザー」ブロックを見つける

画面右下付近に用意されています。見つけたら近くにある「編集」をクリック。

STEP
「実行専用アクセス許可を管理」ダイアログボックスが表示される

画面右端全体に表示されます。以下3つのブロックで構成されています。

  1. ユーザーやグループを招待
  2. 現在の共有相手
  3. 使用する接続
STEP
ダイアログボックス内のパラメータに必要に応じて情報を入力、選択
  • ユーザーやグループを招待 ・・・ フローを共有する相手やグループを選択
  • 使用する接続 ・・・ スクリプト作成者の接続を選択

この作業が済めばPowerAutomateの中で使用している「スクリプトの実行」コネクタはそのままでOKです。

これで指定したユーザーやグループのメンバーはスクリプトを共有することができるようになります。

メリット/デメリット

良い点、悪い点ともに2つあります。

メリット

  • フロー内のコネクタはそのまま
  • 環境内に存在するスクリプトは1つ

デメリット

  • 都度フローを共有する必要がある
  • フロー作成者が抜けるとフローが止まる

デメリットの1番を補足します。グループ内のメンバーが増えた際は都度共有の設定が必要になります。

よってグループ内メンバーの入れ替えが多い環境では大きなデメリットになります。

対策-2:スクリプトを共有スペースに置き直す&別のフローを用意する

続いて2つ目の方法です。スクリプトを共有できる場所に設置し新たにフローを作り変えます。

Plat(プラット)

スクリプトをグループ内のメンバーが共有できる場所に移動させます。

スクリプトを共有する方法-2の1枚目
スクリプトを共有する方法-2の2枚目
画像はクリックすると拡大されます
スクリプトを共有する方法-2
STEP
Excel(オンライン)内でスクリプトを表示させる

作成したスクリプトを表示し中身を確認。(対象のスクリプトなのかを目視で確認する)

STEP
スクリプトをコピーして保存する

コードエディターの下方にある「コピーを保存」ボタンをクリック。

グループで共有しているSharePointサイトの任意の場所に保存する。

STEP
PowerAutomateのフローを変更する

ExcelOnlineの「スクリプトの実行」コネクタを削除。

ExcelOnlineの「SharePointライブラリからスクリプトを実行」コネクタを選択。

STEP
「SharePointライブラリからスクリプトを実行」コネクタを作り込む

適宜必要な情報を入力 or 選択する。

スクリプトはSharePointサイトに保存したものを選択する。

メリット/デメリット

こちらも良い点、悪い点ともに2つあります。

基本的に対策1でメリットだったものは対策2ではデメリットになります。

メリット

  • 都度フローを共有しなくても良い
  • フロー作成者が抜けてもフローが止まらない

デメリット

  • フロー内のコネクタを変更する必要がある
  • 環境内に存在するスクリプトが複数になる

デメリットの2番について少し補足します。

SharePointサイトにスクリプトを保存すると環境内に同じスクリプトが2つ生成されることになります。

  1. 自分のOneDriveにあるスクリプト
  2. SharePointサイトに保存したスクリプト

スクリプトを修正する際など一旦作った要素に変化を加える際は取り扱いに注意してください。

Aさん

2つの対策について理解しました。
どちらの方法も良い点がありますね。

Plat(プラット)

使用する方の環境に合う方を使ってみてください。

¥2,500 (2024/07/02 13:16時点 | Amazon調べ)
\楽天ポイント4倍セール!/
楽天市場

まとめ

ExcelOnlineで使用するOfficeスクリプトをグループ内のメンバーで共有する方法を2つ紹介しました。

PowerAutomateを含めPowerPlatformに属するアプリ群は互いに関わりあって環境を形成しています。

各アプリを使用する際はアプリ単体で考えるのではなく「アプリ群」で環境をとらえる様にしましょう。

PowerPlatformに属するアプリ群を使って環境を用意する方法
よかったらシェアしてください!
  • URLをコピーしました!