Power Automate for desktopで「引数InstanceはExcelインスタンスである必要があります」のエラーメッセージの対処方法

  • URLをコピーしました!
目次

登場人物

👨‍💼 上司(やさしい先輩):Power Automate Desktopに詳しく、部下のミスをやさしく指摘する。
🧑‍💻 部下(ちょっとポンコツ):がんばるけど、たまに変なミスをする新人。


部下、またまたエラーで大混乱!?

🧑‍💻 部下:「せんぱーい!! ロボットがまたワケわかんないエラー出してるっす!!😱」

👨‍💼 上司:「今度はどんなエラーが出た?」

🧑‍💻 部下:「えっと……『引数InstanceはExcelインスタンスである必要があります』って出たっす!!💦」

👨‍💼 上司:「なるほど、それは**『Excelの操作をするには、ちゃんとExcelインスタンスを指定しないとダメですよ』**っていうエラーだね。」

🧑‍💻 部下:「えええ!? でもオレ、Excelのファイル名ちゃんと書いたっすよ!? それじゃダメなんすか!?💦」

👨‍💼 上司:「Excelのファイル名だけじゃダメなんだ。原因を一緒にチェックしてみよう!


① Excelインスタンスを作らずに操作してないかチェック!

👨‍💼 上司:「まず、Excelインスタンスを作らずにいきなり操作しようとしてないか確認しよう。」

🧑‍💻 部下:「えっ!? Excelのファイルがあれば、もう開いたことになってるんじゃないんすか!?💦」

👨‍💼 上司:「いや、Power AutomateはExcelを操作する前に、『Excelインスタンス』を作る必要があるんだよ。」

まちがい

Excelワークシートから読み取る(ファイルパス)

👨‍💼 上司:「こう書くと、Power Automateが『どのExcelのこと?』って混乱しちゃうんだ。」

🧑‍💻 部下:「えええ!? じゃあどうすればいいんすか!?😱」

正しい書きかた(まずExcelを開く!)

Excelインスタンス = Excelを開く("C:\Users\Taro\Documents\Excelファイル.xlsx")

👨‍💼 上司:「こうやってまずExcelを開いて、そのインスタンスを使うんだよ!」

🧑‍💻 部下:「おおお! Excelインスタンスを作らないとロボットが困る! これ、大事っすね!」


② 変数にExcelインスタンスが入っているかチェック!

👨‍💼 上司:「次に、変数にちゃんとExcelインスタンスが入ってるかチェックしよう!」

🧑‍💻 部下:「えっ!? 変数って書けば勝手に入ってるんじゃないんすか?」

👨‍💼 上司:「いや、もし間違って変数の中身が空だったり、違うデータが入ってるとエラーになるんだ。」

まちがい

Excelインスタンス = ""
Excelワークシートから読み取る(Excelインスタンス, "A1")

👨‍💼 上司:「この状態だと、Power Automateが『Excelインスタンスって何!?』ってなっちゃうよ。」

🧑‍💻 部下:「えええ!? じゃあ、どうすればいいんすか!?」

解決策(変数の中身を確認する)

If Excelインスタンス <> Null Then
Excelワークシートから読み取る(Excelインスタンス, "A1")
Else
MessageBox.Show("Excelインスタンスが空です!")
End If

🧑‍💻 部下:「おおお! 変数がちゃんと入ってるかチェック すれば安心っすね!」


③ Excelのインスタンスを間違えて渡してないかチェック!

👨‍💼 上司:「次に、別の変数を間違えて渡してないかチェックしよう!」

🧑‍💻 部下:「えっ!? 変数って、名前が合ってれば勝手に動くんじゃないんすか?」

👨‍💼 上司:「たとえば、こんなミスをしてない?」

まちがい

Excelファイル = Excelを開く("C:\Users\Taro\Documents\Excelファイル.xlsx")
Excelワークシートから読み取る(Excelデータ, "A1") // 変数名が違う!

👨‍💼 上司:「『Excelファイル』っていう変数を作ったのに、『Excelデータ』っていう存在しない変数を使ってるからエラーになるんだ。」

🧑‍💻 部下:「うわっ!! ちゃんと変数の名前を統一しないとヤバいやつっすね!!😱」

正しい書きかた(変数名を統一する)

Excelインスタンス = Excelを開く("C:\Users\Taro\Documents\Excelファイル.xlsx")
Excelワークシートから読み取る(Excelインスタンス, "A1")

🧑‍💻 部下:「なるほどー! 変数の名前はちゃんと統一する! これ、メモしとくっす!」


④ Excelインスタンスを閉じてないかチェック!

👨‍💼 上司:「最後に、Excelインスタンスを途中で閉じちゃってないかチェックしよう!」

🧑‍💻 部下:「えっ!? インスタンスって、開いたらずっと使えるんじゃないんすか?」

👨‍💼 上司:「もし**『Excelを閉じる』を実行した後に、インスタンスを使おうとするとエラー**になるよ!」

まちがい

Excelインスタンス = Excelを開く("C:\Users\Taro\Documents\Excelファイル.xlsx")
Excelを閉じる(Excelインスタンス)
Excelワークシートから読み取る(Excelインスタンス, "A1") // すでに閉じてる!

👨‍💼 上司:「Excelを閉じちゃったら、もうそのインスタンスは使えないんだ。」

解決策(閉じる前に処理をする)

Excelインスタンス = Excelを開く("C:\Users\Taro\Documents\Excelファイル.xlsx")
Excelワークシートから読み取る(Excelインスタンス, "A1")
Excelを閉じる(Excelインスタンス)

🧑‍💻 部下:「おおお! 閉じる前にちゃんと処理を終わらせる! これ、大事っすね!」


まとめ:エラーをなおすポイント!

👨‍💼 上司:「じゃあ、今日のまとめ!」

① Excelインスタンスを作らずに操作しようとしてないかチェック!
② 変数にExcelインスタンスがちゃんと入ってるか確認!
③ Excelインスタンスの変数名を間違えてないかチェック!
④ Excelを閉じた後にインスタンスを使ってないか確認!

🧑‍💻 部下:「せんぱい、まじ神っす!! もうExcelインスタンスのエラーは怖くないっす!!」

👨‍💼 上司:「(ほんとかな…) じゃあ次は、ロボットにExcelのデータを書き込ませる方法でもやってみる?」

🧑‍💻 部下:「やるっす!!🔥」

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次