初心者なのですが、ネットの情報を駆使してTxtファイルの中身を一部指定した内容に書き換え、新しいファイルとして保存するマクロの作成をいたしました。
そこで、さらに出力するファイル名をセル(Sheet1のA1)に入力した内容で保存したいと考えております。
その場合、下記のVBAはどのように書き換えれば良いでしょうか・・・?
何卒ご教授の程よろしくお願い申し上げます。
Sub TextReplace()
Const FPath As String = "C:\"
Const FNameIn As String = "Text.txt"
Const FNameOut As String = "任意の名前"
Const MaxRow As Long = 10000 '最大行数
Dim ff As Integer
Dim buf As String
Dim dstr(MaxRow) As String
Dim tsrch() As Variant
Dim lp As Long, cnt As Long
tsrch = Worksheets("Sheet1").Range("C3:D6").Value
ff = FreeFile()
'ファイル読込
Open FPath & FNameIn For Input As #ff
cnt = 0
Do Until EOF(ff)
Line Input #ff, buf
'テキスト置換
For lp = 1 To UBound(tsrch)
buf = Replace(buf, tsrch(lp, 1), tsrch(lp, 2))
Next lp
cnt = cnt + 1
dstr(cnt) = buf
Loop
Close
'ファイル書き出し
Open FPath & FNameOut For Output As #ff
For lp = 1 To cnt
Print #ff, dstr(lp)
Next lp
Close
MsgBox "Complete!!"
End Sub
No.3ベストアンサー
- 回答日時:
No.2 です。
間違えました。
正しくは次の通りです。
[削除]
Const FNameOut As String = "任意の名前"
[挿入] ff = FreeFile()の上の行あたり
Dim FNameOut As String
FNameOut = ThisWorkbook.Sheets("Sheet1").Range("A1").Value
No.2
- 回答日時:
<要件>
Sheet1のA1に入っている文字列を参照し、
出力するテキストファイルの名称として使う。
<変更箇所>
[削除]
Const FNameIn As String = "Text.txt"
[挿入] ff = FreeFile()の上の行あたり
Dim FNameOut As String
FNameOut = ThisWorkbook.Sheets("Sheet1").Range("A1").Value
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Access(アクセス) エクセルのマクロについて教えてください。 2 2023/02/03 16:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelのVBAコードについて教え...
-
VBA指定行削除
-
VBA 別ブックからコピペしたい...
-
VBA 何かしら文字が入っていたら
-
VBA一覧取得 再投稿
-
エクセルVBAについて
-
Outlookの「受信日時」「件名」...
-
【ExcelVBA】値を変更しながら...
-
【ExcelVBA】インデックスが有...
-
ユーザーフォームに別シートか...
-
VBA 複数のエクセルから一つの...
-
VB.net(VB)で、フォームにExcel...
-
VBAのコードを教えてください
-
VBA
-
2つのマクロでチェックボックス...
-
VBA listBoxについて
-
VBA 別ブックから条件に合うも...
-
VBA ファイル名取得
-
郵便番号検索APIにてget Elemen...
-
ExcelのVBAコードについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
【VBA】マクロの入ったファイル...
-
VBA 複数条件の分岐処理の上手...
-
現在のブックを閉じないで、マ...
-
VBAで各列の"+"と"o"の合計数を...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ユーザーフォームに別シートか...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
エクセルのマクロについて教え...
-
VBA listBoxから
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
おすすめ情報