VB初心者です。宜しくお願いします。
テキストファイル中の内容を変更するにはどうすれば良いのでしょうか?
教えてください。
例えば、以下のような文の2行目(abcdefg)を"がぎぐげご"と
変更したいのですが・・・。
<変更前>
あいうえお
abcdefg
かきくけこ
さしすせそ
なにぬねの
<変更後>
あいうえお
がぎぐげご
かきくけこ
さしすせそ
なにぬねの
abcdefg⇒がぎぐげご
となる根拠がわかりませんが・・
Dim strHenkouMae As String
Dim strHenkouAto As String
strHenkouMae = _
"あいうえお" & vbCrLf & _
"abcdefg" & vbCrLf & _
"かきくけこ" & vbCrLf & _
"さしすせそ" & vbCrLf & _
"なにぬねの"
strHenkouAto = Replace(strHenkouMae, "abcdefg", "がぎぐげご")
Debug.Print strHenkouAto
zさん、どうもありがとうございました。
こんな便利な関数があったなんて...、知りませんでした。
今までは、テキスト中のデータを全て配列に読み込ませて、
変更したい場所だけをif文で書き換えてやってました。
こんな感じで...。
Dim fs As Object
Dim fl As Object
Dim fileName1 As String: fileName1 = "c:\sample1.txt"
Dim fileName2 As String: fileName2 = "c:\sample2.txt"
Dim strRec As String
Dim rec() As String
Dim i As Integer: i = 0
Dim j As Integer: j = 1
Set fs = CreateObject("Scripting.FileSystemObject")
Set fl = fs.OpenTextFile(fileName1, 1, False)
Do Until fl.AtEndOfStream
i = i + 1
ReDim Preserve rec(i) As String
rec(i) = fl.Readline
Loop
fl.Close
Set fl = fs.OpenTextFile(fileName1, 2, False)
Do Until j = i + 1
If j = 2 Then
fl.writeline "がぎぐげご"
Else
fl.writeline rec(j)
End If
j = j + 1
Loop
fl.Close
ちなみに"abcdefg⇒がぎぐげご"に特に意味はありません。
すみません。
ツイート | ![]() |