![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?08b1c8b)
No.5ベストアンサー
- 回答日時:
#2です。
#1、#3、#4のご解答をヒントにして、Replace関数が使えるようなので
Sub main()
Open "c:\my documents\abc.txt" For Input As #1
Open "c:\my documents\abc2.txt" For Output As #2
b = "名古屋"
c = "名古屋北"
lb = Len(b)
lc = Len(c)
While Not EOF(1)
Line Input #1, a
ns = Replace(a, b, c)
Print #2, ns
Wend
Close #1
Close #2
End Sub
を実行して同じ結果になりました。
No.6
- 回答日時:
元のファイルに書き戻すことにこだわらないのであれば、
1. 1行読み込む
2. 置換処理を行う(後述)
3. 別のファイルに書き出す
を繰り返せば、置換した別のファイルが出来上がります。それを、必要であれば元のファイルを消して同じ名前に変えるなどすれば完成かと。
置換には、
1. Replace関数を使う
2. Instr関数、Mid関数などを使って置換箇所を探して置き換えていく
といったところが一般的ですかね。詳しくはVBのヘルプを見てください(上記関数に関するサンプルを少し作ってみれば、すぐに分かると思います)。
No.4
- 回答日時:
VBがver6.0以降であればReplace
ヘルプをよく読んでみてください難しいことは書いてません。
ちなみにMSDNの検索で以下の条件でヒットしたトピックは6件。Replaceはしっかり含まれていました。
『文字列 AND 置換 AND 関数』
No.3
- 回答日時:
ご参考になれば・・・。
(対象:固定長データ)固定長の置き換え(VBヘルプより)
Mid(文字列変数, 開始位置[, 置換長]) = 置換文字列
※詳細はヘルプを確認してください。
全角半角が混在している場合等にあると便利なルーチン
Function LenCntB(ByVal str As String) as Long
LenCntB = LenB(StrConv(str, vbFromUnicode))
End Function
↑
正確な文字列のバイト数を返すルーチン
No.2
- 回答日時:
abc.txtの中の名古屋と言う文字列を名古屋北に置換えて
abc2.txtに書き出し。
abc.txtに書き戻しは出来ないはずで、別ファイルに書き出す。
Sub main()
Open "c:\my documents\abc.txt" For Input As #1
Open "c:\my documents\abc2.txt" For Output As #2
b = "名古屋"
c = "名古屋北"
lb = Len(b)
lc = Len(c)
While Not EOF(1)
Line Input #1, a
s = 1
ns = ""
l1:
p = InStr(s, a, b)
If p = 0 Then GoTo e1
ns = ns & Mid(a, s, p - s) & c
s = p + lb
GoTo l1
e1:
ns = ns & Mid(a, s, Len(a) - s + 1)
Print #2, ns
Wend
Close #1
Close #2
End Sub
(テスト例)
abc.txt
大阪,a,11,12,名古屋,45,名古屋
名古屋,b,13,14,名古屋,23,名古屋
東京,c,15,16,名古屋,56,名古屋
仙台,d,123,234,福岡,87,大阪
abc2.txt
大阪,a,11,12,名古屋北,45,名古屋北
名古屋北,b,13,14,名古屋北,23,名古屋北
東京,c,15,16,名古屋北,56,名古屋北
仙台,d,123,234,福岡,87,大阪
VBAではPeplace関数を使えると思います。
VB6でも使えるかもしれませんがInstr関数でやってみました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- フリーソフト サクラエディタの正規表現(grep機能)の使い方 3 2022/06/22 10:29
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて見た映画を教えてください!
初めて見た映画を覚えていますか?
-
おすすめの美術館・博物館、教えてください!
美術館・博物館が大好きです。みなさんのおすすめをぜひお聞きしたいです。
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
洋服何着持ってますか?
洋服を減らそうと思っているのですが、何着くらいが相場なのかわかりません。
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
VB6にて、テキストファイルの内容を更新したいのですが。。
Visual Basic(VBA)
-
VBAでCSVファイルの特定行を書き換える方法はあるのでしょうか?
その他(プログラミング・Web制作)
-
【VBA】テキストファイルを指定行数からの読み込み
Visual Basic(VBA)
-
-
4
テキストファイルを直接置換する方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 置換文字がみつからない時
-
EXCEL警告「置換対象のデータが...
-
秀丸エディタで、「-」や「ー」...
-
Excel VBA リストに一致したデ...
-
ExcelVBA バッチファイル編集
-
正規表現で、特定の文字列を含...
-
正規表現 特定の文字列を含む行...
-
複数のパワーポイントファイル...
-
サクラエディタ 数字だけを置...
-
住宅にカナを入力する際に丁目...
-
文字コードの%E3%80%とは何です...
-
エクセルで数値を全角文字(カ...
-
CSVファイルの中で、「 , 」カ...
-
「繝・せ繝・」となる文字化け
-
全角英数字の必要性が理解できない
-
VBAでシングルクオート(8217)を...
-
コンボボックスに貼り付け文字...
-
IMAP4でsubjectが検索ヒットしない
-
openoffice calcで#DIV/0! の...
-
「何とかで始まり、何とかで終...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 置換文字がみつからない時
-
各項目がダブルクォーテーショ...
-
csvデータ ダブルクォーテ...
-
正規表現で、特定の文字列を含...
-
正規表現 特定の文字列を含む行...
-
スペースで区切られた氏名から...
-
EXCEL警告「置換対象のデータが...
-
○文字目に文字挿入
-
xmlファイル内の文字列置換
-
csvデータのダブルクォーテーシ...
-
Excel VBA リストに一致したデ...
-
C#で空白行を削除する方法
-
テキストファイル中の文字列の置換
-
C言語でテキストファイルの内容...
-
複数のパワーポイントファイル...
-
秀丸エディタで、「-」や「ー」...
-
テキストボックスの文字列を置...
-
EXCELマクロを用いてグラフの系...
-
ハングルを日本語に置換
-
Eclipse 改行後のタブ
おすすめ情報