次のようなテキストデータに含まれる制御コードと空白を別の印刷可能な記号にワードのマクロを使って置換したいのですが、全角の空白と半角の空白を区別して置換したいのですが、全角の空白は半角の空白2個に認識してしまって、困っています。どのような書き方をすれば全角の空白を先に認識して■に置換できるのでしょうか?マクロのソースは最後に添えておきます。VABは勉強したことがないので、記録したマクロのソースをいじくっているだけですので初歩的な質問で恐縮ですが教えていただければ大変助かります。
----(置換前)
あいうえを かきくけこ
さしすせそ たちつてと
なにぬねの はまやらわ
いきしちに ひみいりい
わをん
はひふへほ まみむめも
やいゆえよ らりるれろ
あいうえを かきくけこ
さしすせそ たちつてと
なにぬねの はまやらわ
いきしちに ひみいりい
わをん
はひふへほ まみむめも
やいゆえよ らりるれろ
----(終わり)
----(置換後)
あいうえを~~かきくけこ△
さしすせそ~~たちつてと△
なにぬねの~はまやらわ△
いきしちに~~ひみいりい△
わをん△
[改頁]
はひふへほ~まみむめも△
やいゆえよ~~らりるれろ△
あいうえを~かきくけこ△
さしすせそ~~たちつてと△
なにぬねの~はまやらわ△
いきしちに~~ひみいりい△
わをん△
[改頁]
はひふへほ~まみむめも△
やいゆえよ~らりるれろ△
----(終わり)
----(VBAソース)
Sub ゲラ刷り()
'
' ゲラ刷り Macro
' 記録日 2007/08/13 記録者
'
ChangeFileOpenDirectory "D:\変換\"
Documents.Open FileName:="gera.txt", ConfirmConversions:=False, ReadOnly:= _
False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
"", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=932
Selection.WholeStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = Chr(13)
.Replacement.Text = "△" & Chr(13) & Chr(10)
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = Chr(10) & Chr(12)
.Replacement.Text = "[改頁]" & Chr(12)
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = Chr(15) & Chr(81) & Chr(40) & Chr(14)
.Replacement.Text = "■"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " "
.Replacement.Text = "~"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
----(終わり)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
全角空白を置換する際に、置換対象となる検索文字列の欄に全角で空白を入力されていますか?
置換後の文字列が半角記号( ~ )であることから、置換条件の入力時に文字入力モードがかな入力ではなく半角入力になっている可能性が考えられます。その場合、全角空白を検索なさりたいにもかかわらず、検索文字列の欄に半角空白が打ち込まれていることになります。
としたら、対策はとても簡単で、置換条件の入力時に文字入力モードをかな入力になさることです。
置換後の文字列を全角記号になされば、こうした問題は回避されるでしょう。
同様に、半角空白を置換されるときには、入力モードを半角に切り替えられればよいのです。
ちなみに、制御コードを一発で画面表示なさりたいのでしたら、
ツールメニュー > オプション > 表示 > 編集記号の表示 の中で、
「スペース」とか「すべて」を選択なさればマクロをいじる必要もありません。
早速の回答ありがとうございます。
次の方が答えられているように置換のオプションというものを知らずにマクロの記録をとっていたのが原因でした。制御コードのやり方も知りました。ありがとうございました。
No.1
- 回答日時:
使っておられるワードのバージョンがわかりませんが、「置換」のダイアログでオプションボタンをクリックしてから「半角と全角を区別する」ちチェックを入れて置換を行えばよいと思いますが。
ちなみに私が使っているワードは2003です。atomimiさんへ!回答ありがとうございました。使っているのは同じワード2003です。置換にオプションというのがあるのを知らずに使っていました。オプションをチェックしたら「あいまい検索」にチェックが入ってましたので、はずして「半角と全角を区別する」にチェックを入れてから新しいマクロの記録をやってやりなおしてみたら見事全角と半角が区別されて置換され、見事に問題は解決しました!(*^。^*)
本当に助かりました!ありとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カンマを改行に変換する方法
-
エクセルで濁点カナの変換方法...
-
Excelで全角ハイフンを半角ハイ...
-
Word:差し込み印刷時に文字列...
-
カンマ( , )をタブに置換したい。
-
エクセル重複削除で綺麗に削除...
-
文字の列を揃えるには
-
CSVファイルの任意の列をダブル...
-
エクセルの文字・数字の前後の...
-
セルの文字列後ろのスペース削除
-
テキストでタブを検索してスペ...
-
【MS Office Word 2007】文章の...
-
秀丸で余分なスペースを削除したい
-
Word2010で小数点の検索
-
ワードで複数の文字を一括・連...
-
エクセルの『検索と置換ボック...
-
文字列に含まれているダブルク...
-
エクセルで文字の置換を行いた...
-
Excelで特定の文字以下を削除し...
-
ダブルクォーテーションカンマ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カンマを改行に変換する方法
-
カンマ( , )をタブに置換したい。
-
秀丸で余分なスペースを削除したい
-
Excelで全角ハイフンを半角ハイ...
-
文字の列を揃えるには
-
Word:差し込み印刷時に文字列...
-
エクセルの『検索と置換ボック...
-
エクセル重複削除で綺麗に削除...
-
エクセルで濁点カナの変換方法...
-
【MS Office Word 2007】文章の...
-
セルの文字列後ろのスペース削除
-
文字列に含まれているダブルク...
-
Excelで特定の文字以下を削除し...
-
CSVファイルの任意の列をダブル...
-
エクセル 置換又は関数でかっこ...
-
エクセルの「置換」で1行の部分...
-
エクセルの文字・数字の前後の...
-
ワードで複数の文字を一括・連...
-
word 改行マークを印刷時に表示...
-
1文字だけ置換したい
おすすめ情報