登場人物
👨💼 上司(やさしい先輩):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から始まる!)
✅ ② リストの長さ(要素数)を確認して、超えないようにする!
✅ ③ インデックスの値をちゃんと整数(数値)に変換する!
✅ ④ インデックスがマイナスじゃないかチェックする!
🧑💻 部下:「せんぱい、まじ神っす!! もうインデックスエラーは怖くないっす!!」
👨💼 上司:「(ほんとかな…) じゃあ次は、ロボットにリストを並び替えさせる方法でもやってみる?」
🧑💻 部下:「やるっす!!🔥」
