
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で、特定の文字列を含...
-
Eclipse 改行後のタブ
-
VBA 置換文字がみつからない時
-
csvデータのダブルクォーテーシ...
-
複数のパワーポイントファイル...
-
3回以上の改行を2回にする正...
-
ハングルを日本語に置換
-
xmlファイル内の文字列置換
-
vbsで図形内テキストの置換方法
-
procmailで本文の文字列置換
-
EXCELマクロを用いてグラフの系...
-
VBA 複数の非連続セルのみ指定...
-
特定の列のみ置換を行いたい
-
EXCEL警告「置換対象のデータが...
-
エクセル関数 文字の置き換え...
-
C#で空白行を削除する方法
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
IEからEdgeへの移行に伴うIMEの...
-
Excelについて質問です。 セル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正規表現で、特定の文字列を含...
-
VBA 置換文字がみつからない時
-
各項目がダブルクォーテーショ...
-
○文字目に文字挿入
-
csvデータ ダブルクォーテ...
-
C#で空白行を削除する方法
-
Excel・ユーザーフォームの情報...
-
csvデータのダブルクォーテーシ...
-
秀丸エディタで、「-」や「ー」...
-
フォントの色を保持したままセ...
-
Excel VBA 教えてください。 VB...
-
EXCEL警告「置換対象のデータが...
-
スペースで区切られた氏名から...
-
Eclipse 改行後のタブ
-
Excel VBA リストに一致したデ...
-
テキストボックスの文字列を置...
-
xmlファイル内の文字列置換
-
複数のパワーポイントファイル...
-
特定の列のみ置換を行いたい
-
ハングルを日本語に置換
おすすめ情報