You are on page 1of 6

2021/1/26 【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するWordマクロ(その3) | みんなのワードマクロ

【コード】様々な半⾓ハイフンを通常の半⾓ハイフ
ンに置換するWordマクロ(その3)
以前の記事「【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するマクロ」と「【コード】
様々な半⾓ハイフンを通常の半⾓ハイフンに置換するマクロ(その2)」で、Wordには複数の種類の⽂
字コードによる偽ハイフンがあるということを説明し、それらを通常の半⾓ハイフンに置換する仕組み
を紹介しました。

最近、ブログ読者の⽅から別のハイフン(Soft Hyphen)があることを教えていただきました。

また、ハイフンを探しているうちに、Wordで使われる「任意指定のハイフン」が変換の対象外になって
いることに気がつきました。

この機会に、合計で11種類のハイフンを扱えるように過去のマクロを改良してみます。

Wordで動く翻訳チェックソフト「⾊deチェック」で、上記2つのハイフンもチェックできるように次の
バージョンで修正します。

このマクロでできること

11種類の偽ハイフンを通常の半⾓ハイフンに置換します。

置換箇所を明るい緑⾊で着⾊します。

マクロの解説

19⾏⽬のように、検索する⽂字列に、ChrW(&HAD) (ソフトハイフン)と ^- (任意指定のハイフ


ン)とを追加しました。

ソフトハイフンの場合、VBEではUnicodeの⽂字を表⽰できないため、⽂字コードに基づいて表⽰して
います。

以下のように、[記号と特殊⽂字]ダイアログボックスにて、Soft HyphenのUnicode(16進)の⽂字
コードを探します。

https://www.wordvbalab.com/code/3190/ 1/6
2021/1/26 【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するWordマクロ(その3) | みんなのワードマクロ

VBEで⼊⼒すると、ChrW(&H00AD) が ChrW(&HAD) のように⾃動的に変換されます。

マクロ

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)

(追記)このマクロには改良版があります。 指数を上付きに変更するWordマクロ(その3) かつて


紹介した「指数を上付きに変更するマクロ」...

【コード】スライド内の全⽂字列をテキストファイルに出⼒する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起動時に特定ページから開く 」からネタをいただきます。 というか、ご指名


いただいた気がしたので、作ってみました...

Cooperative Translation (CT) ⽅式による翻訳 ⽬次

Cooperative Translation (CT) ⽅式による翻訳とは ⽔野⿇⼦さん が開発された翻訳⼿法・考え⽅の


ことです。 ...

【⼭猫の⼿】ワイルドカードの置換履歴を検索する

上書き翻訳での置換処理に特化した[検索と置換]ダイアログボックスの強化版である「⼭猫の⼿」
の使い⽅のご紹介です。 ユーザーさんからご質...

【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するWordマクロ
(その2)

後に改良しました。16-08-22 【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するマク
ロ(その3) 【コード】様々な半⾓ハイ...

【コード】和暦を⻄暦にするWordマクロ

(追記︓2013/04/22) さらに正確に変換するマクロを作りました。 以下の記事をご覧ください。


【コード】和暦を⻄暦にするWor...

https://www.wordvbalab.com/code/3190/ 4/6
2021/1/26 【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するWordマクロ(その3) | みんなのワードマクロ

 セミナー情報 ⼀覧 

【セミナー案内】オンライン ⾊deチェック 無料説明会(12⽉〜3⽉)


【セミナー案内】オンライン GreenT 無料説明会(12⽉〜3⽉)
【セミナー案内】オフライン ⾊deチェック 無料説明会(未定)
【セミナー案内】オフライン GreenT 無料説明会(未定)
【セミナー案内】2020/11/14(⼟)サン・フレア アカデミー Wordマクロセミナー
【セミナー案内】2019/10/24(⽊)東京 ⽇本翻訳連盟(JTF)翻訳祭
【セミナー案内】2019/03/16(⼟)東京 翻訳者のためのWordマクロ活⽤術

 【セミナー案内】2016/10/12(⽔)東京 Wordで上書き翻訳セミナー

 【上書き翻訳ツール】バージョンアップのお知らせ(Ver. 2.2d)

コメントをどうぞ
メールアドレスが公開されることはありません。

名前

メール

サイト

次回のコメントで使⽤するためブラウザーに⾃分の名前、メールアドレス、サイトを保存する。
https://www.wordvbalab.com/code/3190/ 5/6
2021/1/26 【コード】様々な半⾓ハイフンを通常の半⾓ハイフンに置換するWordマクロ(その3) | みんなのワードマクロ

⼆ × = 14 

コメントを送信

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理⽅法の詳細はこ


ちらをご覧ください。

https://www.wordvbalab.com/code/3190/ 6/6

You might also like