Power Automate for desktopで「変数◯◯が存在しません」のエラーメッセージの対処方法

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

登場人物

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


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

🧑‍💻 部下:「せんぱーい!! ロボットがまたキレてるっす!!💦」

👨‍💼 上司:「またか(笑)。今度はどんなエラー?」

🧑‍💻 部下:「えっと……『変数◯◯が存在しません』って出たっす!! 変数が存在しない!? えっ!? オレ、幽霊でも作っちゃったんすか!?😱」

👨‍💼 上司:「いやいや(笑)、存在しないっていうのは、変数がどこにも作られてないってことだよ。」

🧑‍💻 部下:「えええ!? でもオレ、変数ちゃんと書いたっすよ!? たぶん!!」

👨‍💼 上司:「じゃあ、一緒にエラーの原因をチェックしてみよう!」


① 変数を作らずに使ってないかチェック!

👨‍💼 上司:「まず、変数を作らずにいきなり使ってないかチェックしよう。」

🧑‍💻 部下:「えっ!? 変数って勝手に作られないんすか!?💦」

👨‍💼 上司:「Power Automate Desktopでは、変数を使う前に必ず作らないといけないんだよ。」

まちがい

MessageBox.Show(名前)

👨‍💼 上司:「こんなふうに書くと、Power Automateが『名前って変数どこにあるの!? そんなの知らないよ!』ってエラーを出すんだ。」

🧑‍💻 部下:「えええ!? じゃあ、ちゃんと変数を作るにはどうすればいいんすか!?」

ただしい書きかた

名前 = "田中"
MessageBox.Show(名前)

🧑‍💻 部下:「おおお! ちゃんと先に変数を作ってから使うんすね!」

👨‍💼 上司:「そういうこと!」


② 変数名のスペルミスをチェック!

👨‍💼 上司:「次に、変数名のスペルミスがないか確認しよう。」

🧑‍💻 部下:「えっ!? スペルミスでエラー出るんすか!?」

👨‍💼 上司:「当然だよ(笑)。たとえば、こういうミス。」

まちがい

名前 = "田中"
MessageBox.Show(名まえ) // 名前を「名まえ」と間違えた!

👨‍💼 上司:「これだと、Power Automate Desktopは『名まえ? そんな変数知らないよ!』ってなるんだ。」

🧑‍💻 部下:「うわっ!! ちゃんと確認しないとヤバいやつっすね!」

ただしい書きかた

名前 = "田中"
MessageBox.Show(名前) // 変数名を統一する!

🧑‍💻 部下:「なるほどー! 変数の名前はしっかりチェックするっす!」


③ 変数のスコープ(範囲)をチェック!

👨‍💼 上司:「次に、変数のスコープ(使える範囲)をチェックしよう。」

🧑‍💻 部下:「スコープ!? なんかカッコいいっすね!」

👨‍💼 上司:「スコープっていうのは、変数が使える範囲のこと。たとえば、サブフローの中だけで作った変数は、別のサブフローでは使えないんだよ。」

まちがい

サブフロー1:
名前 = "田中"

サブフロー2:
MessageBox.Show(名前) // サブフロー2では「名前」が使えない!

👨‍💼 上司:「これだと、サブフロー2で『名前』が存在しないからエラーになる。」

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

解決策

グローバル変数(フロー変数)として作る

👨‍💼 上司:「『フロー変数』を使えば、どこでも変数を使えるようになるよ!

🧑‍💻 部下:「おおお! ちゃんとスコープを考えて変数を作るの、大事っすね!」


④ 変数を削除していないかチェック!

👨‍💼 上司:「最後に、変数をどこかで削除してないかチェックしよう!」

🧑‍💻 部下:「えっ!? 変数って勝手に消えたりするんすか!?」

👨‍💼 上司:「いや、手動で消したり、違うアクションで消えてしまったりすることがあるんだ。」

まちがい

名前 = "田中"
名前 = Null // 変数を空にしてしまった
MessageBox.Show(名前)

👨‍💼 上司:「こう書いちゃうと、『名前』の中身が消えちゃって、エラーが出ることがある。」

🧑‍💻 部下:「えええ!! 気をつけないと変数が消えちゃうんすね!」

解決策

ちゃんと変数が設定されているか確認する

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

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

① 変数を作らずに使わない!(先に作ってから使う!)
② 変数名のスペルミスをしない!(名前を間違えない!)
③ 変数のスコープ(使える範囲)を確認する!(サブフロー内だけになってない?)
④ 変数を削除してないか確認する!(どこかで消してない?)

🧑‍💻 部下:「せんぱい、まじ神っす!! これでオレのロボット、エラーなく動くっす!!」

👨‍💼 上司:「よしよし。じゃあ次は、ロボットにデータを入力させる方法でもやってみる?」

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

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

この記事を書いた人

目次