VB6.0でCSVを特定の行から削除、書き込みしたいと思っています。
Dim objFso, objTxtSt As Object
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objTxtSt = objFso.OpenTextFile(strPass, 8, -1)
Dim i As Integer
For i = 1 To 2 Step 1
objTxtSt.SkipLine
Next
Call objTxtSt.WriteLine(strpData)
objTxtSt.Close
Set objTxtSt = Nothing
Set objFso = Nothing
しかしSkipLineが読込み時専用らしく書き込み時、削除時行を指定する方法がわかりません。
エラーNo.54:「ファイルモードが不正です」
またOpenTextFileの第二、第三引数の意味がわかりません(Read、Writeモードの切り替えかと考えています)ので、教えていただけますでしょうか。
お礼
回答ありがとうございます。 提示いただいたやり方の場合 1.一度元となるCSVを全て読込み 2.元となるCSV削除 3.読込んだデータを修正 4.同名のCSVを新規作成 5.修正したデータを書込み 現在以上のようにしているのですが、これとほぼ手間が変わらないように思います。 >FileSystemObjectでは、連続したファイルの内容を途中から変更等は難しいと思います。 参考サイトより、Openメソッドについて調べてみました。 しかしここにあるものもFileSystemObjectと同様に、ファイルの行数を指定しての読込みは不可能のように思います。 間違っていたら申し訳ありません。