13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Office スクリプトを実行する Power Automate フローを共有

Last updated at Posted at 2021-08-15

ツイートしたこの件について、なんとか解決できました。

なお、この件は公式ドキュメントに載っておらず検証結果から見出した方法なので、今後の仕様変更などにより挙動が変わるかもしれません。ご了承ください。

Office スクリプトとは

Office スクリプトは、Excel on the web (Web 版 Excel) で利用できるもので、Excel 上の操作を TypeScript で記録するマクロ機能です。記録されたスクリプトは編集 (新規に作成もできる) したり、他のユーザーと共有することができます。また Power Automate を使ってスクリプトを実行することもできます。
詳しくは、以下のドキュメントを参照してください。

さっそく検証

これ以降の検証は、以下のユーザーを使って行います。

  • user001...Office スクリプト (Excel ブック) と Power Automate フローの作成者
  • user002...他の (共有してもらうほうの) ユーザー

なお、以下のドキュメントを参考に、Office スクリプトが有効になっていることを確認します。

サンプルを作成

検証のサンプルとして、以下のチュートリアルのとおりに Office スクリプトと Power Automate フローを作成します。
ここでは「user001」で Office スクリプトと Power Automate フローを作成します。

  • Office スクリプトを作成

image.png

  • フローを作成

image.png

  • フローの実行結果

フローが正常に動作していることを確認します。

image.png

Office スクリプトも正常に動作していることを確認します。
※フローから Office スクリプトを実行すると、日時は UTC で出力されます。

image.png

そして、他のユーザーにフローを共有 (※) し、「使用する接続」を確認します。
ここでは「user002」に共有します。

image.png

※以下のいずれかの方法でフローを共有します。

  • 共同所有者として一覧を追加する

  • 実行専用のアクセス許可でクラウド フローを共有する

他のユーザーでフローを実行してみる

ここでは「user002」で操作します。

フローを実行

それでは、他のユーザーでフローを実行してみます。

image.png

実行履歴を確認

スクリプトの実行 (Run script)」アクションで**「スクリプトが見つかりません。共有が解除されたか、削除された可能性があります。」**というエラーが発生します。

image.png

エラー内容から察すると、フローで実行する Office スクリプトが共有できていないからだと思ってしまいますが、他のユーザーに対象の Office スクリプトを共有しても実行結果は同じでした。

実行するフローで使用する接続

他のユーザー (user002) でフローを実行する際、「接続とアクションを確認する」から接続「Excel Online (Business) コネクタ」を確認すると、実行したユーザー (user002) の接続が使われることがわかりました。

image.png

前述したように、この設定のままでフローで使用 (実行) する Excel ブック、および Office スクリプトを他のユーザー (user002) に共有しても同じエラーが発生します。

フローを他のユーザー (user002) に共有した際、以下のように表示されていましたので実行時はフローの作成したユーザー (user001) の接続が使われると思っていましたが、フローを実際に実行する時は、フローを実行するユーザーの接続が使われるようです。

image.png

実行するフローで使用する接続を変更

では、実行時に使われる接続を変更します。
フローの詳細ページにある「実行のみのユーザー」の [編集] をクリックします。

image.png

「使用する接続」にある「Excel Online (Business) コネクタ」が**「実行専用のユーザーによって提供されました」**が選択されています。

image.png

この選択を**「この接続 (フローの作成者のアカウント) を使用する」**の接続に変更して保存します。

image.png

フローを実行 (ふたたび)

それでは改めて、他のユーザーでフローを実行してみます。

image.png

実行履歴を確認 (ふたたび)

フローが正常に動作していることを確認できました。

image.png

Office スクリプトも正常に動作していることを確認できました。

image.png

まとめ (検証結果)

Office スクリプトを実行するフローを共有した他のユーザーで実行した場合、フローを実行したユーザーの Excel Online (Business) コネクタの接続が使われます。

フローでは、共有したユーザーに Excel ブックや Office スクリプトを共有しても、Office スクリプトを認識することができなかったため、フローが失敗したと推測します。

上記のことから、フローを実行する際に使用される Excel Online (Business) コネクタの接続をフローの作成者 (= Office スクリプトの作成者) のものに切り替えることで、フローを共有した他のユーザーでもフロー内の Office スクリプトが実行できるようになります。

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?