Power Automate for desktopで「インデックスXXは範囲外です」のエラーメッセージの対処方法

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

登場人物

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


部下、またまたエラーでパニック!?

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

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

🧑‍💻 部下:「えっと……**『インデックスXXは範囲外です』**って出たっす! インデックスって何っすか!? もしかして、オレ、変なとこいじっちゃいました!?💦」

👨‍💼 上司:「うん、それは『リストや配列の中にない場所を指定してる』っていうエラーだね。」

🧑‍💻 部下:「えええ!? でもオレ、ちゃんとリスト使ったっすよ!?」

👨‍💼 上司:「じゃあ、一緒にどこが間違ってるのかチェックしてみよう!」


① リストの範囲外を指定してないかチェック!

👨‍💼 上司:「まず、リストの範囲外を指定してないか確認しよう。」

🧑‍💻 部下:「範囲外!? リストって無限に使えるんじゃないんすか?」

👨‍💼 上司:「いやいや(笑)。リストには『何個』っていう上限があるんだよ。」

まちがい

リスト = ["りんご", "バナナ", "みかん"]
MessageBox.Show(リスト[3]) // 4番目を指定している(範囲外)

🧑‍💻 部下:「あれっ!? 3つしかないのに『3』って指定しちゃってるっす!!😱」

👨‍💼 上司:「そう! リストは0から始まるから、リスト[3]は存在しないんだよ。」

ただしい書きかた

リスト = ["りんご", "バナナ", "みかん"]
MessageBox.Show(リスト[2]) // 3番目のアイテムを取得

🧑‍💻 部下:「おおお! リストの番号は『0』から数える! これ、覚えたっす!!」


② リストの要素数を超えないようにチェックする!

👨‍💼 上司:「次に、リストの要素数を超えないようにチェックしよう。」

🧑‍💻 部下:「えっ!? でも、リストの中身が何個あるかなんて毎回わからないっすよ!?」

👨‍💼 上司:「そんなときは、リストの長さ(数)を確認する方法を使えばいいんだよ。」

解決策

リスト = ["りんご", "バナナ", "みかん"]
If 変数X < Length(リスト) Then
MessageBox.Show(リスト[変数X])
Else
MessageBox.Show("指定したインデックスは範囲外です!")
End If

🧑‍💻 部下:「おおお! ちゃんと範囲内かどうか確認すればエラーにならないっすね!」


③ 変数がちゃんと数字(整数)になっているかチェック!

👨‍💼 上司:「次に、リストのインデックスに変な値を入れてないかチェックしよう。」

🧑‍💻 部下:「えっ!? 変な値って?」

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

まちがい

リスト = ["りんご", "バナナ", "みかん"]
インデックス = "1" // 文字列になっている!
MessageBox.Show(リスト[インデックス])

👨‍💼 上司:「これは『1』だけど、文字(テキスト)扱いになってるからエラーになる。」

🧑‍💻 部下:「えええ!? 数字に見えるのにダメなんすか!?」

解決策

インデックス = Convert.ToInteger("1")  // ちゃんと整数に変換する!

🧑‍💻 部下:「おおお! インデックスはちゃんと数字(整数)にする! これ、大事っすね!」


④ インデックスがマイナスになってないかチェック!

👨‍💼 上司:「最後に、インデックスがマイナスになってないかチェックしよう!」

🧑‍💻 部下:「えっ!? インデックスってマイナスでもOKじゃないんすか?」

👨‍💼 上司:「Pythonみたいな一部のプログラムではOKだけど、Power Automate DesktopではNGだよ!」

まちがい

リスト = ["りんご", "バナナ", "みかん"]
MessageBox.Show(リスト[-1]) // マイナスはNG

👨‍💼 上司:「マイナスのインデックスを使うと『そんな場所ないよ!』ってエラーになるんだ。」

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

解決策

If 変数X >= 0 And 変数X < Length(リスト) Then
MessageBox.Show(リスト[変数X])
Else
MessageBox.Show("インデックスが範囲外です!")
End If

🧑‍💻 部下:「おおお! ちゃんと0以上かどうかチェックするのが大事っすね!」


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

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

① インデックスの範囲をチェック!(リストは0から始まる!)
② リストの長さ(要素数)を確認して、超えないようにする!
③ インデックスの値をちゃんと整数(数値)に変換する!
④ インデックスがマイナスじゃないかチェックする!

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

👨‍💼 上司:「(ほんとかな…) じゃあ次は、ロボットにリストを並び替えさせる方法でもやってみる?」

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

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

この記事を書いた人

目次