
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で、特定の文字列を含...
-
VBA 置換文字がみつからない時
-
perlで置換をするプログラムを...
-
スペースで区切られた氏名から...
-
Excel VBA 教えてください。 VB...
-
VBAを使って条件により、文字列...
-
vbs 連続した8タブを空白に変換...
-
位置指定の文字マッチングと同...
-
○文字目に文字挿入
-
Eclipse 改行後のタブ
-
C言語でテキストファイルの内容...
-
Perlの正規表現
-
フォントの色を保持したままセ...
-
正規表現で一括置換
-
ダブルクォーテーション置換時...
-
Excel VBA リストに一致したデ...
-
複数行に渡る文字列の置換
-
Perl正規表現わかりますか?
-
閉じタグの置換方法
-
正規表現 特定の文字列を含む行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 置換文字がみつからない時
-
正規表現で、特定の文字列を含...
-
csvデータ ダブルクォーテ...
-
各項目がダブルクォーテーショ...
-
Excel VBA リストに一致したデ...
-
スペースで区切られた氏名から...
-
秀丸エディタで、「-」や「ー」...
-
EXCELマクロを用いてグラフの系...
-
csvデータのダブルクォーテーシ...
-
C#で空白行を削除する方法
-
EXCEL警告「置換対象のデータが...
-
xmlファイル内の文字列置換
-
正規表現 特定の文字列を含む行...
-
テキストボックスの文字列を置...
-
○文字目に文字挿入
-
C言語でテキストファイルの内容...
-
複数のパワーポイントファイル...
-
c# ビルド直前にコードを置換で...
-
Excel・ユーザーフォームの情報...
-
\\(円)記号を置換したい
おすすめ情報