FileSystemObject エラー

このQ&Aのポイント
  • VBSの'Scripting.FileSystemObject'を利用するスクリプトでエラーが発生しています。エラーメッセージは「ActiveX コンポーネントはオブジェクトを作成できません。」です。
  • 他のPCでは同じVBSで稼働しており、Windows XP sp2でも問題なく動作しています。試みた対策として、IEの[プロパティ]→[セキュリティ]→[レベルのカスタマイズ]の設定変更やWindows Script 5.6の再インストールを行いましたが、改善されませんでした。
  • VBSスクリプトのソースコードは正しく記述されており、保存するためのファイルオブジェクトを作成しています。処理が終了した後、メッセージボックスが表示されます。
回答を見る
  • ベストアンサー

FileSystemObject エラー

お世話になります。 閲覧ありがとうございます。 質問ですが、WSHの'Scripting.FileSystemObjectで質問があります。 VBSにて'Scripting.FileSystemObject'を利用するスクリプトを自端末上に作成しました。 しかし、『CreateObject("Scripting.FileSystemObject") 』にてエラーが発生してしまします。 エラー内容は以下のとおりです。 エラー: ActiveX コンポーネントはオブジェクトを作成できません。: 'Scripting.FileSystemObject' コード: 800A01AD ソース: Microsoft VBScript 実行時エラー 他のPCでは同じVBSで稼働しておりますので、構文等の間違いはないかとおもいます。 エラーが発生しているPCも稼働しているPCもすべてWindows XP sp2です。 以下を試みましたが、改善しませんでした。 (1)IEの[プロパティ]→[セキュリティ]→[レベルのカスタマイズ]→[スクリプトを実行しても安全とマークされていない ActiveX コントロールの 初期化とスクリプトの実行] を有効 ※インターネット & ローカルイントラネットの両方とも↑にしました。 (ローカルディスク上にVBSは作成してあります。) (2)Windows Script 5.6の再インストール ソースは以下のようになっております。 お手数をお掛け致しますが、よろしくお願い致します。 Option Explicit Const HKEY_LOCAL_MACHINE = &H80000002 Dim objTextFile Dim objFSO '保存するためのファイルオブジェクト Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.CreateTextFile("C:\Test.txt", True) objTextFile.WriteLine "Test!!" msgbox "処理が終了しました。"

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

またまた、Googleっただけ (^^ゞ http://kchon.blog111.fc2.com/blog-entry-270.html の 『 (1)regsvr32.exe /u scrrun.dll (2)regsvr32.exe scrrun.dll 』 では?

ThunderAce
質問者

お礼

返事が遅くなり、申し訳ありません。 あと、度々の投稿、誠にありがとうございます。 回答の件ですが、ご指示の(1)&(2)のコマンド自体は成功したしたとのメッセージが表示されました。 しかし、同じスクリプトを実行すると、同じメッセージでエラーになりました。。。

ThunderAce
質問者

補足

投稿ありがとうございました。 現在も解決には至りませんでしたが、 投稿がいろいろと参考になりましたが、BAにさせて頂きたいと思います。 度々の投稿ありがとうございました。

その他の回答 (1)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

エラーコードでGoogleっただけですが http://support.microsoft.com/kb/311269/en-us?fr=1 コマンドプロンプトで Wscript -regserver とすれば良さげです。 効果が有るかどうかは環境を作れないので不明です。

ThunderAce
質問者

お礼

回答ありがとうございます。 試してみましたが、改善はせず、同じエラーが発生しました。。。 ご意見ありがとうございます。

関連するQ&A

  • 「Scripting.FileSystemObject」について

    ただいまASPでWebシステムの開発をしております。 「Scripting.FileSystemObject」で質問をさせてください。 ASPの処理の中でファイルの削除をやりたかったので「Scripting.FileSystemObject」でファイル操作をしようと思いました。 記述は以下の通りです。 Dim objFileDelete Set objFileDelete = CreateObject("Scripting.FileSystemObject") objFileDelete.DeleteFile 消したいファイルのパス & ファイル名 ,True Set objFileDelete = Nothing 実行後にファイルを確認しましたが、消されていませんでした。 実行時にエラーにもなりませんでした。 調べてみると「Scripting.FileSystemObject」オブジェクトが作成されていないようなのです。 疑問に思ったことですが、そもそも「Scripting.FileSystemObject」はなにに入っている(表現がおかしいかもしれません)ものなのでしょうか? Windowsのシステムなのでしょうか? それともIISに依存するものでしょうか? 御存知の方がおりましたら教えてください。 お願いします。

  • ASP上でFileSystemObjectのDeleteFileがエラー

    こんにちは サーバー上のファイルが削除したいのですがうまくいきません 以下ソースになります Const SERVER_DIRECTORY = "\\TestServ\Inetpub\folderA" Set objFso = CreateObject("Scripting.FileSystemObject") objFso.DeleteFile SERVER_DIRECTORY & "\test.txt" [結果] Microsoft VBScript 実行時エラー'800a0046' 書き込みできません。 エラーコード調べてみると権限の問題のようですが とりあえず以下は試した結果です。 (1)他のフォルダのファイルは削除可能 (2)目的のファイルに新規ファイル作成可能 (3)(2)で作成したファイルに書き込み可能 問題を切り分けるために最小の構成にしても エラーがでるので、objFso.DeleteFileの部分が問題であることは間違いないと思うのですが・・・ 単純な問題かもしれませんがほんとに権限の問題なのかかなり悩んでいます(そうであるならお客さんに設定をお願いすることになるので) 長文すみません、わかる方いたらお願いします。

  • WSHでリモートスクリプト起動時エラー

    □やりたいこと  2台のXP環境で、WSHを使用してリモートスクリプトを実行させたい  (ローカルサーバAからリモートサーバBでJBSを実行) □事象  サーバAのVBS(rmt_local.vbs)を起動したところ、  CreateScript実行時に以下のエラーとなります。  【エラーメッセージ】  429 ActiveX コンポーネントはオブジェクトを作成できません。 □質問  原因と対応方法を知りたい。  下記の設定以外になにが影響しているのか? □環境 【ローカルサーバA】  OS:WindowsXP Professional Version 2002 SP3  WSH:Version5.8  ドメイン:WORKGROUP 【リモートサーバB】  OS:WindowsXP Professional Version 2002 SP3  WSH:Version5.8  ドメイン:WORKGROUP 【スクリプト配置】  ローカルサーバAのC:\TESTにのみスクリプト(1)と(2)を格納している  リモートサーバBにはC:\TESTのフォルダのみ作成している □設定関連  ●ローカルとリモートで設定   ファイアウォール設定(DCOM、wsdcript.exeを通す)   ドメインプロファイルの設定でリモート管理の例外を許可   実行ユーザをAdministratorsグループに追加  ●ローカルのみ設定   COMセキュリティのアクセス許可で「ANONYMOUS LOGIN」のリモートアクセスを許可  ●リモートのみ設定    レジストリ:HKEY\LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa         の下のforceguest(文字列値)に0を設定   レジストリ:HKEY\LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings         の下にRemote(文字列値) を作成して1を設定   COMセキュリティのアクセス許可でEveryoneグループの「リモートアクセス」を許可   COMセキュリティの起動許可でAdminstratorsグループの「リモートからの起動」と   「リモートからのアクティブ化」を許可 ================================================================ □スクリプト(1) 【rmt_local.vbs】 Option Explicit On Error Resume Next Dim objWshCtrl ' WshController オブジェクト Dim strRemotePC ' リモートのコンピュータ名 Dim strScript ' 実行するスクリプトファイル Dim objExecCmd ' 実行コマンド情報 Set objWshCtrl = WScript.CreateObject("WshController") If Err.Number = 0 Then strRemotePC = "B" strScript = "rmt_remote.vbs" Set objExecCmd = objWshCtrl.CreateScript(strScript, strRemotePC) If Err.Number <> 0 Then Set objExecCmd = Nothing WScript.Echo "エラー: CreateScript " & Err.Description WScript.Echo "異常終了しました。" Else WScript.Echo strRemotePC & " で " & strScript & " を実行します。" objExecCmd.Execute Do While objExecCmd.Status = 1 WScript.Sleep(100) Loop WScript.Echo "正常終了しました。" End If Else WScript.Echo "エラー: CreateObject " & Err.Description End If Set objExecCmd = Nothing Set objWshCtrl = Nothing ================================================================ □スクリプト(2) 【rmt_remote.vbs】 Option Explicit On Error Resume Next Dim objFSO ' FileSystemObject Dim objFile ' ファイル書き込み用 Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("C:\TEST\test.log", 8, True) objFile.WriteLine Now() objFile.Close Set objFile = Nothing Set objFSO = Nothing

  • FileSystemObject Win2008Server

    FileSystemObject Win2008Server 今までのWin2003ServerをWindows2008サーバーに更新しました。 Accessデータベース関係は今まで通り処理出来るのですが FileSystemObjectを使ったTextファイルからの読み込みや加工が 出来なくなりました。 VBScriptで社内DBを稼働させています。 サーバーや設定の事はあまり詳しくないのですが 何をチェックすればいいのか、ご指導お願いします。 (1)これはエラーになりません Set connectObj = Server.CreateObject("ADODB.Connection") ConnectObj.Open "xxx" 以下Accessの読み書き (2)この実行でエラーになります。 Set fso = Server.CreateObject("Scripting.FileSystemObject") set tso = fso.OpenTextFile(fp,1) この実行でエラーになります。 以下テキストファイルの処理 お手数ですが宜しくお願いします。

  • ActiveXコンポーネントはオブジェクトを作成できません・・・っていわれても・・・

    初心者のつまずきですので、簡単な質問かもしれませんが おつきあいください。 練習のため、以下のファイルを作り実行しました。 <HTML> <HEAD> <TITLE>簡単な例</TITLE> </HEAD> <SCRIPT LANGUAGE="VBScript"> <!-- Set fs = CreateObject("Scripting.FileSystemObject") --> </SCRIPT> </HTML> このファイルを実行すると(HTML形式) IEのステイタスバーの左端に びっくりマークが表示され エラーメッセ字を表示させると ライン7 文字1 エラー ActiveXコンポーネントはオブジェクトを作成できません。     'Scripting.FileSystemObject' コード0 と表示されます。 ここで質問です。 1.このエラーを回避するためにはどうしたらいいのでしょうか。 2.ActiveXとはいったい何なんでしょうか。簡単に説明してもらえないでしょうか。 ちなみに現在使っているIEは Version6.0.2800.1106.xpsp2.030320-1720 更新バージョンSP1 と表示されるものです。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • OpenTextFile で書き込みできません。

    dim ObjFSO,ObjTS 'オブジェクトを作成します。 Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject") 'ファイルを開きます。 Set ObjTS = ObjFSO.OpenTextFile(filename,1,false) filenameにはC:\Documents and Settings\○○○\デスクトップ\test.csvが入っています。 サーバーのパスにtest.csvを持っていくと問題なく動作しますが、それ以外デスクトップからだと「書き込みできません。」とエラーメッセージができません。 どうしたらいいでしょうか? よろしくお願い致します。

  • 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を無効にできた場合、「オブジェクトが作成できません」 のエラーになると思うのですが、そのエラーにはなりません。 ※実行環境が現在手元にないので、実証できない状態です。 以上

  • VBSでルートフォルダ名を取得したい

    (I)ドライブにUSBメモリーがあってルートフォルダ名がABCだとします。 VBSでルートフォルダ名を取得したくてコード書いてみたんですがMsgBoxには空欄しかでません。なにが間違っているのか教えて頂けないでしょうか? dim objFSO dim objDrive Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objDrive = objFSO.GetDrive("I") MsgBox objDrive.RootFolder.name

  • VBSでフォルダ、ファイル作成時のエラーコード

    フォルダ、ファイルが存在しないとき、作成するスクリプトをVBSで作成していますが、疑問点があるのでご教示ください。 objFSO.CreateFolder、objFSO.CreateTextFileを実行が、正常に行われた場合、 Err.Numberに0がセットされると思っていましたが、実際は違っていました。 objFSO.CreateFolderでフォルダが作成される場合、Err.Numberに13が返されます。 objFSO.CreateTextFileでファイルが作成される場合、Err.Numberに438が返されます。 このスクリプトを実行後、フォルダ、ファイルが存在しない場合、作成されることも確認しています。 フォルダ作成後、作成されたフォルダに対して、ファイルの作成/データの書き込みのアクセス権を拒否にすると返されるErr.numberに70がセットされることも確認しています。 なぜ、フォルダ、ファイルが作成された場合、0が返されないのかご存知の方がいらっしゃいましたらご教示ください。 また、その情報が記載されている書籍およびサイトがあれば、お教えいただければ、幸いです。 Option Explicit Dim objFSO Dim objFile Const strFolderName = "C:\VBS" Const strFileName = "C:\VBS\test.txt" On Error Resume Next Set objFSO = CreateObject("Scripting.FileSystemObject") If Err.Number = 0 Then WScript.Echo "FSOオブジェクトを作成しました" Else WScript.Echo "FSOオブジェクトを作成できませんでした" WScript.Quit(1) End If If objFSO.FolderExists(strFolderName) Then WScript.Echo "フォルダが見つかりました" Else WScript.Echo "フォルダが見つかりませんでした" If objFSO.CreateFolder(strFolderName) Then If Err.Number = 13 Then WScript.Echo "フォルダを作成しました" Else WScript.Echo "フォルダを作成できませんでした" WScript.Quit(1) End If End If End If If objFSO.FileExists(strFileName) Then WScript.Echo "ファイルが見つかりました" Else Script.Echo "ファイルが見つかりませんでした" If objFSO.CreateTextFile(strFileName) Then If Err.number = 438 Then WScript.Echo "ファイルを作成しました" Else WScript.Echo "ファイルを作成できませんでした" WScript.Quit(1) End If End If End If

  • VB6.0 CreateObject以外のファイルI/O

    以前CreateObject("Scripting.FileSystemObject")を使用してファイルを読込む方法、一行ずつ書込む方法を教えていただいたのですが。 環境によってはウイルスチェックに引っかかってしまうようで、別な手段を取らなければならなくなりました。 読込み: Set objFso = CreateObject("Scripting.FileSystemObject") Set objTxtSt = objFso.OpenTextFile(strFilePass, 1) strData = CStr(objTxtSt.ReadAll()) 書込み: Set objFso = CreateObject("Scripting.FileSystemObject") Set objTxtSt = objFso.OpenTextFile(strFilePass, 2, False) Call objTxtSt.WriteLine(strData) 現在の処理は以上です。 上記と同じ処理をCreateObjectを使用せずに作成するにはどのようにすればよろしいでしょうか。

専門家に質問してみよう