- 締切済み
FileSystemObjectのオーバーフロー
FileSystemObjectで 1台のPCだけ、以下のプログラムで実行時エラー6オーバーフロー が発生します。 他の開発環境2台、実行環境2台では発生せず。 WinXP VB6+SP6です。 ~プログラム~ Set Fso = CreateObject("Scripting.FileSystemObject") 'ファイルの末尾から書き込みモード(第2引数=8)で開きます Set FsoTS = Fso.OpenTextFile(strPathFile, 8) lngファイル行数 = FsoTS.Line - 1 FsoTS.Close Set FsoTS = Nothing Set Fso = Nothing 質問内容 ・FSOを無効にする設定はありますか? ・FSOを無効にできた場合、「オブジェクトが作成できません」 のエラーになると思うのですが、そのエラーにはなりません。 ※実行環境が現在手元にないので、実証できない状態です。 以上
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- redfox63
- ベストアンサー率71% (1325/1856)
何処でエラーになっているのか確認したほうが良いでしょう lngファイル行数への代入でエラーになっているのなら Longの境界を越えているのでしょうから 2Gの壁を越えていればどの環境でも発生します lngファイル行数が 間違ってIntegerで宣言されているなら 32767行を超えるファイルに対しては同じことが言えるでしょう 当方で実験すると エラー429 ActiveXオブジェクトは作成できません のエラーになりましたが ・・・ fsoへの代入でこけているかと思います エラー91だと On Error Resume Next などで FSOの代入エラーがパスされていて OpenTextFileメソッドを実行しようとしたのかも このときは On Errorのトラップが無効になっているとか
- redfox63
- ベストアンサー率71% (1325/1856)
regsvr32.exeを使えば レジストリの登録・解除が可能です 登録の解除は regsvr32 -u scrrun.dll 再登録は regsvr32 scrrun.dll scrrun.dllは C:\windows\system32に存在します コマンドプロンプトなどで実行しましょう
お礼
登録、設定はreg、unregで確認できました。 ありがとうございます。 ただし、unreg状態では、 Error Code = 91 オブジェクト変数または With ブロック変数が設定されていません。 のエラーでオーバーフローにはなりませんでした。