<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?action=history&amp;feed=atom&amp;title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6</id>
	<title>Wordの「検索と置換」について - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?action=history&amp;feed=atom&amp;title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6"/>
	<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;action=history"/>
	<updated>2026-06-15T13:13:14Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=182&amp;oldid=prev</id>
		<title>Turgenev: Notion-MW</title>
		<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=182&amp;oldid=prev"/>
		<updated>2023-11-24T12:34:00Z</updated>

		<summary type="html">&lt;p&gt;Notion-MW&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2023年11月24日 (金) 21:34時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;18行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;18行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;文書全体の置換のためには、簡潔にいえば、①文書内の必要なRangeを全て取得する②取得した全てのRangeごとに検索や置換を実行する、という2ステップが必要である。このうち難しいのは①のほうで、②は割と簡単である。とりあえず②を担当する関数の名前を&amp;lt;code&amp;gt;My_Find_and_Replace()&amp;lt;/code&amp;gt;としておこう。そうすると、①の部分については、前述の英語サイトを参考に結論からいえば、以下のように書けばいいということになる。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;文書全体の置換のためには、簡潔にいえば、①文書内の必要なRangeを全て取得する②取得した全てのRangeごとに検索や置換を実行する、という2ステップが必要である。このうち難しいのは①のほうで、②は割と簡単である。とりあえず②を担当する関数の名前を&amp;lt;code&amp;gt;My_Find_and_Replace()&amp;lt;/code&amp;gt;としておこう。そうすると、①の部分については、前述の英語サイトを参考に結論からいえば、以下のように書けばいいということになる。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;python&quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;vb.net&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&amp;gt;&lt;/ins&gt;Sub Macro0()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;vb.net&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sub Macro0()&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Set objUndo = Application.UndoRecord&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Set objUndo = Application.UndoRecord&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   objUndo.StartCustomRecord (&amp;quot;Replace All With VBA&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   objUndo.StartCustomRecord (&amp;quot;Replace All With VBA&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l58&quot;&gt;58行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;55行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;②の部分である&amp;lt;code&amp;gt;My_Find_and_Replace&amp;lt;/code&amp;gt;の例は以下のようなものになるだろう。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;②の部分である&amp;lt;code&amp;gt;My_Find_and_Replace&amp;lt;/code&amp;gt;の例は以下のようなものになるだろう。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;python&quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;vb.net&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&amp;gt;&lt;/ins&gt;Sub My_Find_and_Replace(r As Range)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;vb.net&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sub My_Find_and_Replace(r As Range)&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     With r.Find&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     With r.Find&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         .ClearFormatting&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         .ClearFormatting&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l96&quot;&gt;96行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;90行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;例えば有名な「pͪoͣnͬpͣoͥnͭpͣa͡inͥ」の最初の「pͪ」は、内部的には普通のローマ字のpと合字用の上付きアルファベットのhという2文字で表現されているが、カーソルを移動させる限りではまとめて1文字のように扱われる（メモ帳などにコピペすれば確認できる）。従って、「pͪoͣnͬpͣoͥnͭpͣa͡inͥ」の「p」を全て削除しようと思ってWordの置換でpを””に置換しても、&amp;lt;strong&amp;gt;書記素クラスタとしては「p」に一致するものがない&amp;lt;/strong&amp;gt;ので何も起こらない。「pͪ」と書記素クラスタごと入れれば正しく置換される。「pの上に合字用アルファベットが乗ったもの」を全て消したりフォントを変えたりしたければ、以下のように合字用の文字をあわせてワイルドカード指定することになる（合字用の文字を入れているので奇妙な見た目になっているが問題なく動作する）。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;例えば有名な「pͪoͣnͬpͣoͥnͭpͣa͡inͥ」の最初の「pͪ」は、内部的には普通のローマ字のpと合字用の上付きアルファベットのhという2文字で表現されているが、カーソルを移動させる限りではまとめて1文字のように扱われる（メモ帳などにコピペすれば確認できる）。従って、「pͪoͣnͬpͣoͥnͭpͣa͡inͥ」の「p」を全て削除しようと思ってWordの置換でpを””に置換しても、&amp;lt;strong&amp;gt;書記素クラスタとしては「p」に一致するものがない&amp;lt;/strong&amp;gt;ので何も起こらない。「pͪ」と書記素クラスタごと入れれば正しく置換される。「pの上に合字用アルファベットが乗ったもの」を全て消したりフォントを変えたりしたければ、以下のように合字用の文字をあわせてワイルドカード指定することになる（合字用の文字を入れているので奇妙な見た目になっているが問題なく動作する）。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;python&quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;vb.net&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&amp;gt;&lt;/ins&gt;p[ͣ-ͯ]&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;vb.net&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;p[ͣ-ͯ]&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wordの置換では正規表現のグループは使えないので「上付きアルファベットはそのままでpだけをbに変えてbͪoͣnͬbͣoͥnͭbͣa͡inͥにする」などはおそらく単一の「検索と置換」の実行では不可能である。もちろんマクロで場合分けしてやればできるはず。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wordの置換では正規表現のグループは使えないので「上付きアルファベットはそのままでpだけをbに変えてbͪoͣnͬbͣoͥnͭbͣa͡inͥにする」などはおそらく単一の「検索と置換」の実行では不可能である。もちろんマクロで場合分けしてやればできるはず。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l196&quot;&gt;196行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;187行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;例えば筆者が公開している[https://github.com/ge9/NazonoMincho 謎乃明朝]（文字数が多いため「謎乃明朝」「謎乃明朝+」の2フォントに分かれている）がサポートしている全ての文字で使われるように置換する場合は以下のようになる。与えられたRangeに対して置換するという前述の②の部分だけ載せるので適宜①の部分と組み合わせること。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;例えば筆者が公開している[https://github.com/ge9/NazonoMincho 謎乃明朝]（文字数が多いため「謎乃明朝」「謎乃明朝+」の2フォントに分かれている）がサポートしている全ての文字で使われるように置換する場合は以下のようになる。与えられたRangeに対して置換するという前述の②の部分だけ載せるので適宜①の部分と組み合わせること。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;python&quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;vb.net&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&amp;gt;&lt;/ins&gt;Sub SearchAndReplaceInStory(myStoryRange As Range)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;vb.net&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sub SearchAndReplaceInStory(myStoryRange As Range)&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     Dim CJK As String&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     Dim CJK As String&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     Dim CJKComp As String&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     Dim CJKComp As String&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key turgenev_mwdb:diff:1.41:old-154:rev-182:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Turgenev</name></author>
	</entry>
	<entry>
		<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=154&amp;oldid=prev</id>
		<title>Turgenev: Notion-MW</title>
		<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=154&amp;oldid=prev"/>
		<updated>2023-11-24T12:03:30Z</updated>

		<summary type="html">&lt;p&gt;Notion-MW&lt;/p&gt;
&lt;a href=&quot;https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;amp;diff=154&amp;amp;oldid=130&quot;&gt;差分を表示&lt;/a&gt;</summary>
		<author><name>Turgenev</name></author>
	</entry>
	<entry>
		<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=130&amp;oldid=prev</id>
		<title>Turgenev: Notion-MW</title>
		<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=130&amp;oldid=prev"/>
		<updated>2023-11-24T10:55:48Z</updated>

		<summary type="html">&lt;p&gt;Notion-MW&lt;/p&gt;
&lt;a href=&quot;https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;amp;diff=130&amp;amp;oldid=98&quot;&gt;差分を表示&lt;/a&gt;</summary>
		<author><name>Turgenev</name></author>
	</entry>
	<entry>
		<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=98&amp;oldid=prev</id>
		<title>Turgenev: Notion-MW</title>
		<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=98&amp;oldid=prev"/>
		<updated>2023-11-24T02:17:37Z</updated>

		<summary type="html">&lt;p&gt;Notion-MW&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2023年11月24日 (金) 11:17時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;18行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;18行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;文書全体の置換のためには、簡潔にいえば、①文書内の必要なRangeを全て取得する②取得した全てのRangeごとに検索や置換を実行する、という2ステップが必要である。このうち難しいのは①のほうで、②は割と簡単である。とりあえず②を担当する関数の名前を&amp;lt;code&amp;gt;My_Find_and_Replace()&amp;lt;/code&amp;gt;としておこう。そうすると、①の部分については、前述の英語サイトを参考に結論からいえば、以下のように書けばいいということになる。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;文書全体の置換のためには、簡潔にいえば、①文書内の必要なRangeを全て取得する②取得した全てのRangeごとに検索や置換を実行する、という2ステップが必要である。このうち難しいのは①のほうで、②は割と簡単である。とりあえず②を担当する関数の名前を&amp;lt;code&amp;gt;My_Find_and_Replace()&amp;lt;/code&amp;gt;としておこう。そうすると、①の部分については、前述の英語サイトを参考に結論からいえば、以下のように書けばいいということになる。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;visual basic&lt;/del&gt;&quot;&amp;gt;Sub Macro0()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vb.net&lt;/ins&gt;&quot;&amp;gt;Sub Macro0()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Set objUndo = Application.UndoRecord&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Set objUndo = Application.UndoRecord&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   objUndo.StartCustomRecord (&amp;quot;Replace All With VBA&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   objUndo.StartCustomRecord (&amp;quot;Replace All With VBA&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l55&quot;&gt;55行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;55行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;②の部分である&amp;lt;code&amp;gt;My_Find_and_Replace&amp;lt;/code&amp;gt;の例は以下のようなものになるだろう。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;②の部分である&amp;lt;code&amp;gt;My_Find_and_Replace&amp;lt;/code&amp;gt;の例は以下のようなものになるだろう。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;visual basic&lt;/del&gt;&quot;&amp;gt;Sub My_Find_and_Replace(r As Range)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vb.net&lt;/ins&gt;&quot;&amp;gt;Sub My_Find_and_Replace(r As Range)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     With r.Find&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     With r.Find&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         .ClearFormatting&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         .ClearFormatting&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l90&quot;&gt;90行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;90行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;例えば有名な「pͪoͣnͬpͣoͥnͭpͣa͡inͥ」の最初の「pͪ」は、内部的には普通のローマ字のpと合字用の上付きアルファベットのhという2文字で表現されているが、カーソルを移動させる限りではまとめて1文字のように扱われる（メモ帳などにコピペすれば確認できる）。従って、「pͪoͣnͬpͣoͥnͭpͣa͡inͥ」の「p」を全て削除しようと思ってWordの置換でpを””に置換しても、&amp;lt;strong&amp;gt;書記素クラスタとしては「p」に一致するものがない&amp;lt;/strong&amp;gt;ので何も起こらない。「pͪ」と書記素クラスタごと入れれば正しく置換される。「pの上に合字用アルファベットが乗ったもの」を全て消したりフォントを変えたりしたければ、以下のように合字用の文字をあわせてワイルドカード指定することになる（合字用の文字を入れているので奇妙な見た目になっているが問題なく動作する）。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;例えば有名な「pͪoͣnͬpͣoͥnͭpͣa͡inͥ」の最初の「pͪ」は、内部的には普通のローマ字のpと合字用の上付きアルファベットのhという2文字で表現されているが、カーソルを移動させる限りではまとめて1文字のように扱われる（メモ帳などにコピペすれば確認できる）。従って、「pͪoͣnͬpͣoͥnͭpͣa͡inͥ」の「p」を全て削除しようと思ってWordの置換でpを””に置換しても、&amp;lt;strong&amp;gt;書記素クラスタとしては「p」に一致するものがない&amp;lt;/strong&amp;gt;ので何も起こらない。「pͪ」と書記素クラスタごと入れれば正しく置換される。「pの上に合字用アルファベットが乗ったもの」を全て消したりフォントを変えたりしたければ、以下のように合字用の文字をあわせてワイルドカード指定することになる（合字用の文字を入れているので奇妙な見た目になっているが問題なく動作する）。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;visual basic&lt;/del&gt;&quot;&amp;gt;p[ͣ-ͯ]&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vb.net&lt;/ins&gt;&quot;&amp;gt;p[ͣ-ͯ]&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wordの置換では正規表現のグループは使えないので「上付きアルファベットはそのままでpだけをbに変えてbͪoͣnͬbͣoͥnͭbͣa͡inͥにする」などはおそらく単一の「検索と置換」の実行では不可能である。もちろんマクロで場合分けしてやればできるはず。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wordの置換では正規表現のグループは使えないので「上付きアルファベットはそのままでpだけをbに変えてbͪoͣnͬbͣoͥnͭbͣa͡inͥにする」などはおそらく単一の「検索と置換」の実行では不可能である。もちろんマクロで場合分けしてやればできるはず。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l187&quot;&gt;187行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;187行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;例えば筆者が公開している[https://github.com/ge9/NazonoMincho 謎乃明朝]（文字数が多いため「謎乃明朝」「謎乃明朝+」の2フォントに分かれている）がサポートしている全ての文字で使われるように置換する場合は以下のようになる。与えられたRangeに対して置換するという前述の②の部分だけ載せるので適宜①の部分と組み合わせること。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;例えば筆者が公開している[https://github.com/ge9/NazonoMincho 謎乃明朝]（文字数が多いため「謎乃明朝」「謎乃明朝+」の2フォントに分かれている）がサポートしている全ての文字で使われるように置換する場合は以下のようになる。与えられたRangeに対して置換するという前述の②の部分だけ載せるので適宜①の部分と組み合わせること。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;visual basic&lt;/del&gt;&quot;&amp;gt;Sub SearchAndReplaceInStory(myStoryRange As Range)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vb.net&lt;/ins&gt;&quot;&amp;gt;Sub SearchAndReplaceInStory(myStoryRange As Range)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     Dim CJK As String&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     Dim CJK As String&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     Dim CJKComp As String&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     Dim CJKComp As String&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Turgenev</name></author>
	</entry>
	<entry>
		<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=83&amp;oldid=prev</id>
		<title>Turgenev: Notion-MW</title>
		<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=83&amp;oldid=prev"/>
		<updated>2023-11-24T02:08:31Z</updated>

		<summary type="html">&lt;p&gt;Notion-MW&lt;/p&gt;
&lt;a href=&quot;https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;amp;diff=83&amp;amp;oldid=21&quot;&gt;差分を表示&lt;/a&gt;</summary>
		<author><name>Turgenev</name></author>
	</entry>
	<entry>
		<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=21&amp;oldid=prev</id>
		<title>Turgenev: Notion-MW</title>
		<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Word%E3%81%AE%E3%80%8C%E6%A4%9C%E7%B4%A2%E3%81%A8%E7%BD%AE%E6%8F%9B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=21&amp;oldid=prev"/>
		<updated>2023-11-23T13:15:55Z</updated>

		<summary type="html">&lt;p&gt;Notion-MW&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;この記事では、Wordの「検索と置換」（Find and Replace）を使うにあたって存在するいくつかの問題に関して述べる。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;vbaによる文書全体での置換&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== VBAによる文書全体での置換 ==&lt;br /&gt;
&lt;br /&gt;
{{Valuable}}&lt;br /&gt;
&lt;br /&gt;
Wordの「検索と置換」のGUIダイアログを用いて検索・置換を行う場合は、フッターや図形の中の文章など含めて文書の全てが対象となるが、VBAで同じことを行うのは実は結構難しい。Wordには、ユーザーの操作に応じてマクロを生成する「&amp;lt;em&amp;gt;マクロ&amp;lt;/em&amp;gt;の&amp;lt;em&amp;gt;記録&amp;lt;/em&amp;gt;」という機能があるが、これを使って生成したマクロを実行しても普通のテキストしか置換されず、フッターや図形の中は対象にならない（そんな適当な「記録」機能は無い方がマシである）。&lt;br /&gt;
&lt;br /&gt;
頑張って調べると、まさにこの問題について丁寧に解説した[https://gregmaxey.com/word_tip_pages/using_a_macro_to_replace_text_wherever_it_appears_in_a_document.html Using a Macro to Replace Text Wherever It Appears in a Document]というサイトが見つかった。詳しくはそちらに譲るとして、最低限の内容だけ解説する。&lt;br /&gt;
&lt;br /&gt;
まず、WordのVBAでFindが使える対象にはSelectionとRangeというものがあるようで、どちらも文章内のテキストを置換するのに使えるが、挙動が異なるようである。少なくとも、今回使うのは（そしておそらく使うのに適しているのは）Rangeのほうである。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;この2つの違いについては以下も参照。&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[https://www.wordvbalab.com/code/6344/ 【Word VBA】RangeオブジェクトとSelectionオブジェクト]及び[https://www.wordvbalab.com/code/6382/ 【Word VBA】RangeオブジェクトとSelectionオブジェクト（２）]&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
文書全体の置換のためには、簡潔にいえば、①文書内の必要なRangeを全て取得する②取得した全てのRangeごとに検索や置換を実行する、という2ステップが必要である。このうち難しいのは①のほうで、②は割と簡単である。とりあえず②を担当する関数の名前を&amp;lt;code&amp;gt;My_Find_and_Replace()&amp;lt;/code&amp;gt;としておこう。そうすると、①の部分については、前述の英語サイトを参考に結論からいえば、以下のように書けばいいということになる。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;dummy_str_visual_basic&amp;quot;&amp;gt;Sub Macro0()&lt;br /&gt;
  Set objUndo = Application.UndoRecord&lt;br /&gt;
  objUndo.StartCustomRecord (&amp;amp;quot;Replace All With VBA&amp;amp;quot;)&lt;br /&gt;
  &amp;#039;Fix the skipped blank Header/Footer problem.&lt;br /&gt;
  lngValidate = ActiveDocument.Sections(1).Headers(1).Range.StoryType&lt;br /&gt;
  &amp;#039;Iterate through all story types in the current document.&lt;br /&gt;
  Dim rngStory As Range&lt;br /&gt;
  For Each rngStory In ActiveDocument.StoryRanges&lt;br /&gt;
    &amp;#039;Iterate through all linked stories.&lt;br /&gt;
    Do&lt;br /&gt;
      My_Find_and_Replace rngStory&lt;br /&gt;
      On Error Resume Next&lt;br /&gt;
      Select Case rngStory.StoryType&lt;br /&gt;
        Case 6, 7, 8, 9, 10, 11&lt;br /&gt;
          If rngStory.ShapeRange.Count &amp;amp;gt; 0 Then&lt;br /&gt;
            For Each oShp In rngStory.ShapeRange&lt;br /&gt;
              If oShp.TextFrame.HasText Then&lt;br /&gt;
                My_Find_and_Replace oShp.TextFrame.TextRange&lt;br /&gt;
              End If&lt;br /&gt;
            Next&lt;br /&gt;
          End If&lt;br /&gt;
        Case Else&lt;br /&gt;
          &amp;#039;Do Nothing&lt;br /&gt;
      End Select&lt;br /&gt;
      On Error GoTo 0&lt;br /&gt;
      &amp;#039;Get next linked story (if any)&lt;br /&gt;
      Set rngStory = rngStory.NextStoryRange&lt;br /&gt;
    Loop Until rngStory Is Nothing&lt;br /&gt;
  Next&lt;br /&gt;
  objUndo.EndCustomRecord&lt;br /&gt;
End Sub&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;My_Find_and_Replace&amp;lt;/code&amp;gt;が二か所あることに注意。また、&amp;lt;code&amp;gt;objUndo&amp;lt;/code&amp;gt;に関する部分は、これを設定しておくことでこのマクロによる置換操作全体が「ひとまとめの操作」と認識され、Ctrl+Zだけで全て戻せるようになる（これがないと何度か必要になる）。不要ならこの3行は削ってよい。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;objUndo&amp;lt;/code&amp;gt;関連以外はほぼそのまま元サイトの転載となってしまっているが、特に利用にあたって制限はないと書いてあるのと、初歩的な操作で使用頻度が高いにもかかわらずあまり知られていない貴重な情報であるということでご理解いただきたい。&lt;br /&gt;
&lt;br /&gt;
②の部分である&amp;lt;code&amp;gt;My_Find_and_Replace&amp;lt;/code&amp;gt;の例は以下のようなものになるだろう。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;dummy_str_visual_basic&amp;quot;&amp;gt;Sub My_Find_and_Replace(r As Range)&lt;br /&gt;
    With r.Find&lt;br /&gt;
        .ClearFormatting&lt;br /&gt;
        .Replacement.ClearFormatting&lt;br /&gt;
        .text = &amp;amp;quot;前&amp;amp;quot;&lt;br /&gt;
        .Replacement.text = &amp;amp;quot;後&amp;amp;quot;&lt;br /&gt;
        .Font.Name = &amp;amp;quot;ＭＳ 明朝&amp;amp;quot;&lt;br /&gt;
        .Replacement.Font.Name = &amp;amp;quot;ＭＳ ゴシック&amp;amp;quot;&lt;br /&gt;
        .Wrap = wdFindContinue&lt;br /&gt;
        .Execute Replace:=wdReplaceAll&lt;br /&gt;
    End With&lt;br /&gt;
End Sub&amp;lt;/pre&amp;gt;&lt;br /&gt;
この例ではMS明朝で書かれた「前」という文字をMSゴシックの「後」という文字に全て置換する。「MS」は全角である。wdFindContinueは文書の先頭に戻って置換を続けるオプションであるが、今回のようにSelectionではなくRangeに対してFindする場合はおそらく不要。その他色々とオプションがあるので調べてみるとよい。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;見出しのフォントなどの指定&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 「見出しのフォント」などの指定 ==&lt;br /&gt;
&lt;br /&gt;
[https://www.ka-net.org/blog/?p=3593 選択範囲内にある特定のフォントの文字列を別のフォントに置き換えるWordマクロ | 初心者備忘録] この記事によると、見た目は普通のフォントでも内部的に「&amp;lt;code&amp;gt;+見出しのフォント &amp;amp;#45; 日本語&amp;lt;/code&amp;gt;」などといったフォント指定がされている場合があるようである。その他にもいくつか落とし穴がありそうなので、フォントを置換するときは参考にするとよいだろう。&lt;br /&gt;
&lt;br /&gt;
この記事でもRange対象の置換を行っているようなので上記の「Rangeを全て取得する」部分はそのまま応用が可能かと思われる。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ワイルドカードにor検索がない&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== ワイルドカードにOR検索がない ==&lt;br /&gt;
&lt;br /&gt;
さすがに冗談だろうと思ったが、本当に無いらしい。[http://office-qa.com/Word/wd419.htm Word ワイルドカード検索 例題シリーズ ≫ Or検索するには－教えて！HELPDESK] が面白いので読んでみるとよい。&lt;br /&gt;
&lt;br /&gt;
対処法としては、マクロで頑張って書くしかないだろう。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;合字異体字bmp外の文字の検索置換&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 合字・異体字・BMP外の文字の検索・置換 ==&lt;br /&gt;
&lt;br /&gt;
Wordの検索・置換は、Unicodeの内部表現の単位ではなく、（拡張）&amp;lt;strong&amp;gt;書記素クラスタ&amp;lt;/strong&amp;gt;（参考&amp;amp;#58; [https://hydrocul.github.io/wiki/blog/2015/1025-unicode-grapheme-clusters.html Unicodeのgrapheme cluster (書記素クラスタ) | hydroculのメモ]など）（簡単にいえば、カーソルを動かす際に1文字として扱われるまとまり）の単位でしか文字を認識してくれないようである。&lt;br /&gt;
&lt;br /&gt;
例えば有名な「pͪoͣnͬpͣoͥnͭpͣa͡inͥ」の最初の「pͪ」は、内部的には普通のローマ字のpと合字用の上付きアルファベットのhという2文字で表現されているが、カーソルを移動させる限りではまとめて1文字のように扱われる（メモ帳などにコピペすれば確認できる）。従って、「pͪoͣnͬpͣoͥnͭpͣa͡inͥ」の「p」を全て削除しようと思ってWordの置換でpを””に置換しても、&amp;lt;strong&amp;gt;書記素クラスタとしては「p」に一致するものがない&amp;lt;/strong&amp;gt;ので何も起こらない。「pͪ」と書記素クラスタごと入れれば正しく置換される。「pの上に合字用アルファベットが乗ったもの」を全て消したりフォントを変えたりしたければ、以下のように合字用の文字をあわせてワイルドカード指定することになる（合字用の文字を入れているので奇妙な見た目になっているが問題なく動作する）。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;dummy_str_visual_basic&amp;quot;&amp;gt;p[ͣ-ͯ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wordの置換では正規表現のグループは使えないので「上付きアルファベットはそのままでpだけをbに変えてbͪoͣnͬbͣoͥnͭbͣa͡inͥにする」などはおそらく単一の「検索と置換」の実行では不可能である。もちろんマクロで場合分けしてやればできるはず。&lt;br /&gt;
&lt;br /&gt;
また、合字と呼ぶのかわからないが異体字セレクタを用いて表現された異体字についても同様で、例えば「艹︀」は見た目は1文字だが内部的にはU+8279とU+FE00の2文字であるため、U+8279（艹）を対象として置換しても何も起こらない。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bmp外の文字の範囲検索置換&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== BMP外の文字の範囲検索・置換 ===&lt;br /&gt;
&lt;br /&gt;
{{Valuable}}&lt;br /&gt;
&lt;br /&gt;
Unicodeの文字は65536文字（16進数では”10000”文字）ごとに一つの「面（Plane）」として分けられており、U+0000からU+FFFFまでの最初の65536文字がBMP（Basic Multilingual Plane, 基本多言語面）と呼ばれる。BMPの外にある文字、すなわち16進数で5桁（以上）になる文字については、扱いが変わるため、ソフトによってサポートが不十分な場合がある。普段使う多くの文字はBMP内にあるが、「𩸽（ほっけ）」など一部の漢字や「🥺」のような絵文字はBMP外の文字である。&lt;br /&gt;
&lt;br /&gt;
Wordでは、BMP外の文字を普通に入力して使う分には全く問題なく、「検索と置換」でも多くのユースケースでは問題ないのだが、&amp;lt;strong&amp;gt;ワイルドカードの&amp;amp;#45;（ハイフン）を使用した範囲検索がうまくできない&amp;lt;/strong&amp;gt;という不具合がある。例えば、U+20000&amp;amp;#45;U+2FFFFの文字を一括で削除しようとして「検索と置換」ダイアログに&amp;lt;code&amp;gt;&amp;amp;#91;𠀀&amp;amp;#45;𯿿&amp;amp;#93;&amp;lt;/code&amp;gt;などと入力しても「&amp;lt;strong&amp;gt;&amp;amp;#91;検索する文字列&amp;amp;#93;に指定した範囲が正しくありません。&amp;lt;/strong&amp;gt;」とエラーが出てしまう。このエラーは&amp;amp;#91;9&amp;amp;#45;0&amp;amp;#93;のようにUnicode上の順序が逆転した範囲を指定したときに表示されるものである。&lt;br /&gt;
&lt;br /&gt;
実はここでも先ほどの「合字」と似たようなことが起こっている。どうやらWordは内部的に文字コードとしてUTF&amp;amp;#45;16を使用しているようで、UTF&amp;amp;#45;16ではBMP外の文字は「サロゲート文字」と呼ばれるものを&amp;lt;strong&amp;gt;2文字組み合わせて&amp;lt;/strong&amp;gt;表現される（サロゲートペアと呼ばれる）（詳しくは他サイトを参照）。従って、先ほどの&amp;lt;code&amp;gt;𠀀&amp;lt;/code&amp;gt;も、見た目としては1文字でも、内部的には合字と同じようにU+D840とU+DC00という2つの文字で表現されているということになる。同じくU+2FFFFはU+D87FとU+DFFFの2文字であるから、先ほどの検索クエリは、意味としては&amp;amp;#91;&amp;amp;lt;U+D840&amp;amp;gt;&amp;amp;lt;U+DC00&amp;amp;gt;&amp;amp;#45;&amp;amp;lt;U+D87F&amp;amp;gt;&amp;amp;lt;U+DFFF&amp;amp;gt;&amp;amp;#93;、つまり「&amp;amp;lt;U+D840&amp;amp;gt;と、&amp;amp;lt;U+DC00&amp;amp;gt;から&amp;amp;lt;U+D87F&amp;amp;gt;までと、&amp;amp;lt;U+DFFF&amp;amp;gt;」を対象にしたものと解釈されてしまう。しかし、&amp;amp;lt;U+DC00&amp;amp;gt;は&amp;amp;lt;U+D87F&amp;amp;gt;よりUnicode上で後の文字であり、範囲指定の最初と最後の位置が逆転しているため、「&amp;amp;#91;検索する文字列&amp;amp;#93;に指定した範囲が正しくありません。」と表示されたのである。&lt;br /&gt;
&lt;br /&gt;
というわけで、BMP外の文字を範囲指定で検索・置換するには、サロゲート文字を用いて2文字まとめてヒットするようにすればよい。例えばU+20000&amp;amp;#45;U+2FFFFであれば&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#91;&amp;amp;lt;U+D840&amp;amp;gt;&amp;amp;#45;&amp;amp;lt;U+D87F&amp;amp;gt;&amp;amp;#93;&amp;amp;#91;&amp;amp;lt;U+DC00&amp;amp;gt;&amp;amp;#45;&amp;amp;lt;U+DFFF&amp;amp;gt;&amp;amp;#93;&lt;br /&gt;
&lt;br /&gt;
というクエリ（分かりやすいように表記しただけで、もちろんこのままでは使えない）を作ればよいということになる。&lt;br /&gt;
&lt;br /&gt;
なお、こうしてサロゲートペアという「組み合わせ」で指定する以上、置換したい対象のUnicode範囲を単純に上のようなクエリに直せるとは限らないことに注意が必要である。すなわち、この方式の単一のクエリで置換対象にできるのは「&amp;lt;strong&amp;gt;上位サロゲート文字0xD800～0xDBFFと下位サロゲート文字0xDC00～0xDFFFによる1024×1024の表にサロゲート文字を並べたときに長方形の枠で囲える範囲&amp;lt;/strong&amp;gt;」だけである。実際にこの表でU+20000&amp;amp;#45;U+2FFFFがどこになるか見てみると&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
! DC00&lt;br /&gt;
! DC01&lt;br /&gt;
! …&lt;br /&gt;
! DFFE&lt;br /&gt;
! DFFF&lt;br /&gt;
|-&lt;br /&gt;
| D800&lt;br /&gt;
| 10000&lt;br /&gt;
| 10001&lt;br /&gt;
| …&lt;br /&gt;
| 103FE&lt;br /&gt;
| 103FF&lt;br /&gt;
|-&lt;br /&gt;
| …&lt;br /&gt;
| …&lt;br /&gt;
| …&lt;br /&gt;
| …&lt;br /&gt;
| …&lt;br /&gt;
| …&lt;br /&gt;
|-&lt;br /&gt;
| D840&lt;br /&gt;
| &amp;lt;strong&amp;gt;20000&amp;lt;/strong&amp;gt;&lt;br /&gt;
| &amp;lt;strong&amp;gt;20001&amp;lt;/strong&amp;gt;&lt;br /&gt;
| &amp;lt;strong&amp;gt;…&amp;lt;/strong&amp;gt;&lt;br /&gt;
| &amp;lt;strong&amp;gt;203FE&amp;lt;/strong&amp;gt;&lt;br /&gt;
| &amp;lt;strong&amp;gt;203FF&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| …&lt;br /&gt;
| &amp;lt;strong&amp;gt;…&amp;lt;/strong&amp;gt;&lt;br /&gt;
| &amp;lt;strong&amp;gt;…&amp;lt;/strong&amp;gt;&lt;br /&gt;
| &amp;lt;strong&amp;gt;…&amp;lt;/strong&amp;gt;&lt;br /&gt;
| &amp;lt;strong&amp;gt;…&amp;lt;/strong&amp;gt;&lt;br /&gt;
| &amp;lt;strong&amp;gt;…&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| D87F&lt;br /&gt;
| &amp;lt;strong&amp;gt;2FC00&amp;lt;/strong&amp;gt;&lt;br /&gt;
| &amp;lt;strong&amp;gt;2FC01&amp;lt;/strong&amp;gt;&lt;br /&gt;
| &amp;lt;strong&amp;gt;…&amp;lt;/strong&amp;gt;&lt;br /&gt;
| &amp;lt;strong&amp;gt;2FFFE&amp;lt;/strong&amp;gt;&lt;br /&gt;
| &amp;lt;strong&amp;gt;2FFFF&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| …&lt;br /&gt;
| …&lt;br /&gt;
| …&lt;br /&gt;
| …&lt;br /&gt;
| …&lt;br /&gt;
| …&lt;br /&gt;
|-&lt;br /&gt;
| DBFF&lt;br /&gt;
| 10FC00&lt;br /&gt;
| 10FC01&lt;br /&gt;
| …&lt;br /&gt;
| 10FFFE&lt;br /&gt;
| 10FFFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
と、めでたく長方形の枠内に収まっているが、そうでない範囲を指定するときは（ORも使えないので）最大3回クエリを実行することになるだろう。&lt;br /&gt;
&lt;br /&gt;
また、先ほど異体字セレクタとして例に挙げたU+FE00はStandardized Variation Sequence (SVS)で利用されるもので、BMP内のブロックであるVariation Selectors(U+FE00&amp;amp;#45;U+FE0F)のものであるが、もう一つの異体字シーケンスの枠組みであるIdeographic Variation Sequence (IVS)で用いられる異体字セレクタはBMP外のはるか彼方にあるVariation Selectors Supplement(U+E0100&amp;amp;#45;U+E01EF)のものであるため、これに対してもサロゲートペアを使用する必要がある。これも&lt;br /&gt;
&lt;br /&gt;
U+&amp;amp;lt;DB40&amp;amp;gt;&amp;amp;#91;&amp;amp;lt;U+DD00&amp;amp;gt;&amp;amp;#45;&amp;amp;lt;U+DDEF&amp;amp;gt;&amp;amp;#93;&lt;br /&gt;
&lt;br /&gt;
のようにちゃんと1つのクエリで表現できる。&lt;br /&gt;
&lt;br /&gt;
==== 実際に置換する ====&lt;br /&gt;
&lt;br /&gt;
ここまでサロゲート文字を&amp;amp;lt;U+D840&amp;amp;gt;のように模式的に表現してきたが、実際にWordでこれを入力するにはどうすればいいのかというと、一つはまずAlt+XというWordの便利機能を使って無理やりサロゲート文字を生成して（当然「豆腐」で表示される）それを頑張って切り貼りするなどして置換するという方法がある。しかしかなり不自然な表示になったりして扱いづらいので普通はVBAを用いるのがいいだろう。VBAでは&amp;lt;code&amp;gt;ChrW(&amp;amp;amp;HD840)&amp;lt;/code&amp;gt;のようにして16進数で文字を指定することができる。&lt;br /&gt;
&lt;br /&gt;
例えば筆者が公開している[https://github.com/ge9/NazonoMincho 謎乃明朝]（文字数が多いため「謎乃明朝」「謎乃明朝+」の2フォントに分かれている）がサポートしている全ての文字で使われるように置換する場合は以下のようになる。与えられたRangeに対して置換するという前述の②の部分だけ載せるので適宜①の部分と組み合わせること。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;dummy_str_visual_basic&amp;quot;&amp;gt;Sub SearchAndReplaceInStory(myStoryRange As Range)&lt;br /&gt;
    Dim CJK As String&lt;br /&gt;
    Dim CJKComp As String&lt;br /&gt;
    Dim CJKA As String&lt;br /&gt;
    Dim IVS As String&lt;br /&gt;
    Dim SVS As String&lt;br /&gt;
    Dim CJKBtoF As String&lt;br /&gt;
    Dim CJKCompS As String&lt;br /&gt;
    Dim TIP As String&lt;br /&gt;
    Dim KRadi As String&lt;br /&gt;
    Dim RadiSup As String&lt;br /&gt;
    CJK = &amp;amp;quot;[&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;H4E00) &amp;amp;amp; &amp;amp;quot;-&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;H9FFF) &amp;amp;amp; &amp;amp;quot;]&amp;amp;quot;&lt;br /&gt;
    CJKComp = &amp;amp;quot;[&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HF900) &amp;amp;amp; &amp;amp;quot;-&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HFAFF) &amp;amp;amp; &amp;amp;quot;]&amp;amp;quot;&lt;br /&gt;
    CJKA = &amp;amp;quot;[&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;H3400) &amp;amp;amp; &amp;amp;quot;-&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;H4DBF) &amp;amp;amp; &amp;amp;quot;]&amp;amp;quot;&lt;br /&gt;
    KRadi = &amp;amp;quot;[&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;H2F00) &amp;amp;amp; &amp;amp;quot;-&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;H2FDF) &amp;amp;amp; &amp;amp;quot;]&amp;amp;quot;&lt;br /&gt;
    RadiSup = &amp;amp;quot;[&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;H2E80) &amp;amp;amp; &amp;amp;quot;-&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;H2EFF) &amp;amp;amp; &amp;amp;quot;]&amp;amp;quot;&lt;br /&gt;
    IVS = ChrW(&amp;amp;amp;HDB40) &amp;amp;amp; &amp;amp;quot;[&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HDD00) &amp;amp;amp; &amp;amp;quot;-&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HDDEF) &amp;amp;amp; &amp;amp;quot;]&amp;amp;quot;&lt;br /&gt;
    SVS = &amp;amp;quot;[&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HFE00) &amp;amp;amp; &amp;amp;quot;-&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HFE0F) &amp;amp;amp; &amp;amp;quot;]&amp;amp;quot;&lt;br /&gt;
    CJKBtoF = &amp;amp;quot;[&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HD840) &amp;amp;amp; &amp;amp;quot;-&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HD87D) &amp;amp;amp; &amp;amp;quot;][&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HDC00) &amp;amp;amp; &amp;amp;quot;-&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HDFFF) &amp;amp;amp; &amp;amp;quot;]&amp;amp;quot;&lt;br /&gt;
    CJKCompS = ChrW(&amp;amp;amp;HD87E) &amp;amp;amp; &amp;amp;quot;[&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HDC00) &amp;amp;amp; &amp;amp;quot;-&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HDFFF) &amp;amp;amp; &amp;amp;quot;]&amp;amp;quot;&lt;br /&gt;
    TIP = &amp;amp;quot;[&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HD880) &amp;amp;amp; &amp;amp;quot;-&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HD8BF) &amp;amp;amp; &amp;amp;quot;][&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HDC00) &amp;amp;amp; &amp;amp;quot;-&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HDFFF) &amp;amp;amp; &amp;amp;quot;]&amp;amp;quot;&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, CJK&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, CJKComp&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, CJKA&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, KRadi&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, RadiSup&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, CJKCompS&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, CJK &amp;amp;amp; IVS&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, CJKA &amp;amp;amp; IVS&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, CJKBtoF &amp;amp;amp; IVS&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, TIP &amp;amp;amp; IVS&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, CJK &amp;amp;amp; SVS&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, CJKA &amp;amp;amp; SVS&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, CJKBtoF &amp;amp;amp; SVS&lt;br /&gt;
&amp;#039;    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, TIP &amp;amp;amp; SVS&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝+ Regular&amp;amp;quot;, CJKBtoF&lt;br /&gt;
    replaceFont myStoryRange, &amp;amp;quot;謎乃明朝 Regular&amp;amp;quot;, TIP&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub replaceFont(myStoryRange As Range, fontName As String, text As String)&lt;br /&gt;
    myStoryRange.Find.ClearFormatting&lt;br /&gt;
    myStoryRange.Find.Replacement.ClearFormatting&lt;br /&gt;
    myStoryRange.Find.Replacement.Font.Name = fontName&lt;br /&gt;
    With myStoryRange.Find&lt;br /&gt;
        .text = text&lt;br /&gt;
        .Replacement.text = &amp;amp;quot;&amp;amp;quot;&lt;br /&gt;
        .Wrap = wdFindContinue&lt;br /&gt;
        .Format = True&lt;br /&gt;
        .MatchWholeWord = False&lt;br /&gt;
        .MatchAllWordForms = False&lt;br /&gt;
        .MatchSoundsLike = False&lt;br /&gt;
        .MatchFuzzy = False&lt;br /&gt;
        .MatchWildcards = True&lt;br /&gt;
        .Execute Replace:=wdReplaceAll&lt;br /&gt;
    End With&lt;br /&gt;
End Sub&amp;lt;/pre&amp;gt;&lt;br /&gt;
康煕部首なども置換するため長ったらしくなってしまったが、サロゲート文字をChrWで指定するというところさえ理解してしまえば、やっていることは単純である。ChrW(&amp;amp;amp;H4E00)などは普通に漢字で「一」と書いてももちろん構わない。&lt;br /&gt;
&lt;br /&gt;
20000&amp;amp;#45;2FFFFのうち謎乃明朝+に収録されているのはCJK統合漢字拡張B, C, D, E, Fで、U+2F800（サロゲートペアでいうと&amp;amp;lt;U+D87E&amp;amp;gt;&amp;amp;lt;U+DC00&amp;amp;gt;）以降にあるCJK互換漢字補助は謎乃明朝に収録されている（これは元ネタの花園明朝Aと花園明朝Bについても同様である）。そのため&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CJKBtoF &amp;amp;#61; &amp;amp;quot;&amp;amp;#91;&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HD840) &amp;amp;amp; &amp;amp;quot;&amp;amp;#45;&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HD87D) &amp;amp;amp; &amp;amp;quot;&amp;amp;#93;&amp;amp;#91;&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HDC00) &amp;amp;amp; &amp;amp;quot;&amp;amp;#45;&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HDFFF) &amp;amp;amp; &amp;amp;quot;&amp;amp;#93;&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CJKCompS &amp;amp;#61; ChrW(&amp;amp;amp;HD87E) &amp;amp;amp; &amp;amp;quot;&amp;amp;#91;&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HDC00) &amp;amp;amp; &amp;amp;quot;&amp;amp;#45;&amp;amp;quot; &amp;amp;amp; ChrW(&amp;amp;amp;HDFFF) &amp;amp;amp; &amp;amp;quot;&amp;amp;#93;&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
と範囲を分けて書いている。&lt;br /&gt;
&lt;br /&gt;
TIPは第三漢字面（Tertiary Ideographic Plane）であり、30000&amp;amp;#45;3FFFFを指定している。&amp;lt;code&amp;gt;TIP &amp;amp;amp; SVS&amp;lt;/code&amp;gt;がコメントアウトされているのは単に現在TIPの文字がSVSに登録されておらず対応が不要だからであり、将来登録される可能性はある。&lt;br /&gt;
[[Category:IT]][[Category:Windows]]{{#seo:|title={{FULLPAGENAME}} - Turgenev&amp;#039;s Wiki}}&lt;/div&gt;</summary>
		<author><name>Turgenev</name></author>
	</entry>
</feed>