プロが教える店舗&オフィスのセキュリティ対策術

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を無効にできた場合、「オブジェクトが作成できません」
のエラーになると思うのですが、そのエラーにはなりません。

※実行環境が現在手元にないので、実証できない状態です。

以上

A 回答 (2件)

何処でエラーになっているのか確認したほうが良いでしょう



lngファイル行数への代入でエラーになっているのなら Longの境界を越えているのでしょうから 2Gの壁を越えていればどの環境でも発生します

lngファイル行数が 間違ってIntegerで宣言されているなら 32767行を超えるファイルに対しては同じことが言えるでしょう

当方で実験すると エラー429 ActiveXオブジェクトは作成できません のエラーになりましたが ・・・
fsoへの代入でこけているかと思います

エラー91だと On Error Resume Next などで FSOの代入エラーがパスされていて OpenTextFileメソッドを実行しようとしたのかも
このときは On Errorのトラップが無効になっているとか
    • good
    • 0

regsvr32.exeを使えば レジストリの登録・解除が可能です



登録の解除は regsvr32 -u scrrun.dll
再登録は regsvr32 scrrun.dll

scrrun.dllは C:\windows\system32に存在します
コマンドプロンプトなどで実行しましょう
    • good
    • 0
この回答へのお礼

登録、設定はreg、unregで確認できました。
ありがとうございます。

ただし、unreg状態では、
Error Code = 91 オブジェクト変数または With ブロック変数が設定されていません。
のエラーでオーバーフローにはなりませんでした。

お礼日時:2007/11/17 08:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!