Professional Documents
Culture Documents
【コード】様々な半⾓ハイフンを通常の半⾓ハイフ
ンに置換するWordマクロ(その3)
以前の記事「【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するマクロ」と「【コード】
様々な半⾓ハイフンを通常の半⾓ハイフンに置換するマクロ(その2)」で、Wordには複数の種類の⽂
字コードによる偽ハイフンがあるということを説明し、それらを通常の半⾓ハイフンに置換する仕組み
を紹介しました。
最近、ブログ読者の⽅から別のハイフン(Soft Hyphen)があることを教えていただきました。
また、ハイフンを探しているうちに、Wordで使われる「任意指定のハイフン」が変換の対象外になって
いることに気がつきました。
この機会に、合計で11種類のハイフンを扱えるように過去のマクロを改良してみます。
Wordで動く翻訳チェックソフト「⾊deチェック」で、上記2つのハイフンもチェックできるように次の
バージョンで修正します。
このマクロでできること
11種類の偽ハイフンを通常の半⾓ハイフンに置換します。
置換箇所を明るい緑⾊で着⾊します。
マクロの解説
ソフトハイフンの場合、VBEではUnicodeの⽂字を表⽰できないため、⽂字コードに基づいて表⽰して
います。
以下のように、[記号と特殊⽂字]ダイアログボックスにて、Soft HyphenのUnicode(16進)の⽂字
コードを探します。
https://www.wordvbalab.com/code/3190/ 1/6
2021/1/26 【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するWordマクロ(その3) | みんなのワードマクロ
マクロ
1 Sub 様々な半角ハイフンを通常の半角ハイフンに置換するマクロ3()
2
3 Dim myRange As Range
4 Dim strFind As String '検索する文字列
5 Dim strRepl As String '置換後の文字列
6 Dim myColor As String
7
8 '現在の蛍光ペンの色を保存
9 myColor = Options.DefaultHighlightColorIndex
10
11 '蛍光ペンの色を黄色に設定
12 Options.DefaultHighlightColorIndex = wdBrightGreen
13
14 '検索する文字列:様々なハイフンの定義11種類
15 strFind = "[" & ChrW(&H2010) & ChrW(&H2011) & _
16 ChrW(&H2012) & ChrW(&H2013) & _
17 ChrW(&H2014) & ChrW(&H2015) & _
18 ChrW(&H2043) & ChrW(&H2212) & _
19 ChrW(&HAD) & "^~" & "^-" & "]"
20
21 '置換後の文字列:通常の半角ハイフン
22 strRepl = ChrW(&H2D)
23
24 '一括置換を実行(「検索と置換」ダイアログボックスの設定)
25 With Selection.Find
26 .Text = strFind '検索する文字列
27 .Replacement.Text = strRepl '置換後の文字列
28 .Replacement.Highlight = True
29 .Forward = True
30 .Wrap = wdFindStop
31 .Format = True '書式の設定をオン
32 .MatchCase = False '大文字と小文字の区別する
33 .MatchWholeWord = False '完全に一致する単語だけを検索する
34 .MatchAllWordForms = False '英単語の異なる活用形を検索する
35 .MatchSoundsLike = False 'あいまい検索(英)
36 .MatchFuzzy = False 'あいまい検索(日)
37 .MatchByte = False '半角と全角を区別する
https://www.wordvbalab.com/code/3190/ 2/6
2021/1/26 【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するWordマクロ(その3) | みんなのワードマクロ
38 .MatchWildcards = True 'ワイルドカードを使用する
39 .Execute Replace:=wdReplaceAll
40 End With
41
42 '蛍光ペンの色を元に戻す
43 Options.DefaultHighlightColorIndex = myColor
44
45 'myRangeを解放
46 Set myRange = Nothing
47
48 End Sub
関連記事
【Word】法務翻訳で便利なワイルドカードの置換例
【コード】指数を上付きに変更するWordマクロ(その2)
【コード】スライド内の全⽂字列をテキストファイルに出⼒するPowerPoint
マクロ
2017年11⽉14⽇追記 ここで紹介しているサンプルコードでは取得できない⽂字列があります。 グル
ープ化されたShape内の⽂字列は処...
【セミナー報告】2018/01/28(⽇)東京 Wordワイルドカードセミナー
先週の⽇曜⽇に東京でワイルドカードセミナーを開催しました。 参加いただいたみなさま、どうもあ
りがとうございました。 前のセミナー...
https://www.wordvbalab.com/code/3190/ 3/6
2021/1/26 【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するWordマクロ(その3) | みんなのワードマクロ
【ぱらぱら】辞書(置換⽤の⽤語集)の作り⽅2(⽤語の集め⽅)
⼀括置換で⽤いる辞書の作り⽅です。まずは、登録する⽤語をどうやって集めるか︖についてご説明
します。 お⼿持ちの⽤語集を活⽤する 私が⼀番...
【コード】特定ページを表⽰させるWordマクロ
【⼭猫の⼿】ワイルドカードの置換履歴を検索する
上書き翻訳での置換処理に特化した[検索と置換]ダイアログボックスの強化版である「⼭猫の⼿」
の使い⽅のご紹介です。 ユーザーさんからご質...
【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するWordマクロ
(その2)
後に改良しました。16-08-22 【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するマク
ロ(その3) 【コード】様々な半⾓ハイ...
【コード】和暦を⻄暦にするWordマクロ
https://www.wordvbalab.com/code/3190/ 4/6
2021/1/26 【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するWordマクロ(その3) | みんなのワードマクロ
セミナー情報 ⼀覧
【セミナー案内】2016/10/12(⽔)東京 Wordで上書き翻訳セミナー
【上書き翻訳ツール】バージョンアップのお知らせ(Ver. 2.2d)
コメントをどうぞ
メールアドレスが公開されることはありません。
名前
メール
サイト
次回のコメントで使⽤するためブラウザーに⾃分の名前、メールアドレス、サイトを保存する。
https://www.wordvbalab.com/code/3190/ 5/6
2021/1/26 【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するWordマクロ(その3) | みんなのワードマクロ
⼆ × = 14
コメントを送信
https://www.wordvbalab.com/code/3190/ 6/6