• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vistaでエクセル2007を使用しています。)

VistaでExcel2007を使用する際に発生した実行時エラーの解決方法

このQ&Aのポイント
  • VistaでExcel2007を使用している際にVBAプログラムを作成したところ、実行時エラー62「ファイルにこれ以上データがありません」というエラーが発生しました。
  • 原因として、テキストファイルを読み込む際に、一度に全てのデータを読み込むのではなく、1バイトずつ読み込み、EOF(ファイルの終端)まで繰り返す必要があります。
  • また、テキストファイルのサイズ(LOF)と実際のデータの長さが異なる場合もありますので、必要に応じてデータの長さを確認することが重要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.1

> 文書全体, lof(1) の違い 全角(2バイト系)データがあれば食い違いがでるかと思います。 lof(1)   …総バイト数 文書全体  …総文字数 もし全角があるとしたら  ? lenb(strconv(文書全体,vbFromUnicode)) ;lof(1) で、合うと思います。 【ファイル全て読む場合に便利なクラス】 以下の方が処理が早くなります。  Set fso = CreateObject("Scripting.FileSystemObject")  Set objinfile = fso.OpenTextFile(Range("a1").Text)  文書全体 = objinfile.ReadAll  objinfile.Close

nac03056
質問者

お礼

調べてみたら、無いはずの英文にしっかりと全角文字が混ざっていました。外国人から渡された英文だったのでうかつでした。「思い込みはデバッグの天敵」ですね。 まだ全てを確認していませんが、おかげさまで解決の糸口がみつかりました。 ありがとうございました。

関連するQ&A