自分のバグで久々にハマった。
WinActorのスクリプト実行ステージをコチョコチョいじってたら、実行時にこんなエラーが出た。
1.「メモリが不足しています。」
確かにちょっと重ための処理だったかもなーなんて思いながら、いろんなところいじって不可軽減できないか思案してたんだけども、エラーが解消しない。
ふと冷静になって、この内容じゃどこの行のエラーかわかんないじゃんって思ってvbsファイルに打ち直してvbscriptとして実行してみる。
2.同じエラーが出た。
「メモリが不足しています。 800A0007」
行が134って出た。該当行の記述はコレだった。
Redim aryRow(UBoundIdx)
エクセルの行数調べてUBoundIdxって変数に指定した行数分の配列要素をRedimするつもりだった。
検証したら、このUBoundIdxに「-2」が入ってしまってて上記のエラーが出ていました。
Redimの要素数に負の値を設定で「メモリが不足しています。」か。
配列の要素選択で、「インデックスが有効範囲にありません。」はよく見るんだけどね。
いきなりメモリ不足ですって言われたら本当にマシンのリソース疑っちゃうよね。。。
エラーメッセージの字ズラに騙されず、冷静になってまずは自分を疑うべしと・・・初心を思い出しました。