前提・実現したいこと
CSVファイル読込ツールでのリネーム処理においてリネームが出来ない状態になっている。
発生している問題・エラーメッセージ
エラー:書き込みが出来ません コード:800A0046 ソース:MicrosoftVBScript 実行時エラー
該当のソースコード
VBScript
1 2'--------------------------------------------------------------------- 3' INSERT成功処理 4' 5' strDataFilePath:データファイルパス 6'--------------------------------------------------------------------- 7Sub OkInsert(strDataFilePath) 8 Dim objRenameFSO 9 Dim objRenameFile 10 Dim resetFileName 'リネームファイル名 11 Dim strFileName 12 13 14 strFileName = Mid(strDataFilePath, InStrRev(strDataFilePath,"\") + 1) 15 16 'objLogFile.WriteLine (strFileName) 17 'objLogFile.WriteLine (strDataFilePath) 18 19 resetFileName = "OK_" & strFileName 20 21 Set objRenameFSO = CreateObject("Scripting.FileSystemObject") 22 Set objRenameFile = objRenameFSO.GetFile(strDataFilePath) 23 24 objRenameFile.Name = resetFileName ←ここでエラーが発生しています。 25 26 'オブジェクトの破棄 27 Set objRenameFSO = Nothing 28 Set objRenameFile = Nothing 29 30End Sub
追記
ディレクトリからファイルを拾って、設定ファイルを元にSQL文を作成。
SQLを実行し、ファイル単位でコミット、ロールバックを行う。
CSVファイルを他でクローズするようにとのことだったので、編集かけてみましたが、
エラーは変わりませんでした。編集にミスがあればお願いします。
If END_CODE = 0 Then If lngMatchFlag = 1 Then '--------------------------------------------------------' 'INSERT成功処理 '--------------------------------------------------------' strFilePath = objDataFile.Path ← 追加 'オブジェクトの破棄 Set objDataFile = Nothing ← 追加 Call OkInsert(strFilePath) End If Else If lngMatchFlag = 1 Then '--------------------------------------------------------' 'INSERT失敗処理 '--------------------------------------------------------' strFilePath = objDataFile.Path ← 追加 'オブジェクトの破棄 Set objDataFile = Nothing ← 追加 Call NgInsert(strFilePath) End If End If
試したこと
対象のCSVファイルのプロパティの読み取り専用を解除。
補足情報(FW/ツールのバージョンなど)
OS:Windows7
DB:OracleExpressEdition
上記リネーム処理を呼び出す条件を間違えていた時には、上記のリネーム処理が動いてしまっていることを確認しているので、何か原因があるのだろうとは思うのですが、よろしくお願いします。
また、リネーム処理を呼び出せていることは、確認済みです。
お二方のご指摘の通り、
リネーム処理の前でCSVファイルを開いたまま、Closeしていない変数がありました。
リネーム処理を呼び出す前にCloseメソッドで閉じることで動作確認できました。
迅速な回答ありがとうございました。
ベストアンサーは時間の早かったほうということで、ご了承ください。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/20 09:19