ここから本文です

VBA で複数の外部フォルダー テキストファイル内一括文字変換したい。 ==========...

tan********さん

2018/4/1310:25:16

VBA で複数の外部フォルダー テキストファイル内一括文字変換したい。
============================
多数のファイル内文字を一部変更したい。現在手作業で逐一文字置換で
難儀してます。一括で全ファイル処理したい、

宜しくお願い致します。

内容は以下の通りです。

Excel worksheet セル内データ行の構成は以下になります。
A1_____B1_____C1_______D1
文字変換前_文字変換後__フォルダー位置_ファイル名
----------------------------------------------------------------------------
AAAAA___BBBBB___C:¥AAA01___AAAA.txt
AAAAA___CCCCC___C:¥AAA02___AAAA.txt
AAAAA___DDDDD___C:¥AAA03___AAAA.txt

各フォルダー¥AAAA.txt 内の文字を一括VBAマクロ変換処理したい。
(100位有)全データ分準備。
以上です。宜しくお願い致します。

閲覧数:
64
回答数:
1

違反報告

ベストアンサーに選ばれた回答

sk_********さん

2018/4/1320:57:00

こんな感じでどうでしょうか。
下記コードを、標準モジュールに貼り付け、該当シートがアクティブな状態でマクロを実行してください。

Sub Sample()
Dim i As Long, r As Long, lngFF As Long
Dim strPath As String, strBuf As String, v As Variant
r = Cells(Rows.Count, 1).End(xlUp).Row
With CreateObject("Scripting.FileSystemObject")
For i = 2 To r
v = Range(Cells(i, 1), Cells(i, 4)).Value
strPath = v(1, 3) & "\" & v(1, 4)
If 0 < Len(Dir(strPath)) Then
With .GetFile(strPath).OpenAsTextStream
strBuf = .ReadAll
.Close
End With
strBuf = Replace$(strBuf, CStr(v(1, 1)), CStr(v(1, 2)))
lngFF = FreeFile
Open strPath For Output As #lngFF
Print #lngFF, strBuf
Close #lngFF
End If
Next
End With
End Sub

質問した人からのコメント

2018/4/15 10:19:16

テスト致しました。完璧です。
意図していたことが完全に処理出来ました。
文章では表現できないくらい。
感謝してます。有難う御座いました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる