MS Wordをむりやりマークアップっぽく使う方法:異なる文字列の書式を一括で変更する
Microsoft Word を HTML のようにマークアップ的に使う、つまり、テキストエディタで書いた文章に対してあとで一括書式設定を行う方法のメモです。
僕は普段の文書(論文、レポートなど)作成に Word を使っています。この Word、性格を理解してあげればおせっかい機能とかもさほど苦にならず、直感的な比較的使いやすい文書作成ソフトになります。ただ、どうしてもいただけないのが起動や操作の「重さ」です。テキストエディタ並みの軽さで動けばいいのにといつも思います。で、最近になって需要が出てきたので、Word をマークアップ的に使う方法をメモ代わりに記しておきます。
ちなみに、修士論文は TeX で書こうかと思ってますw
以下が目次です。
マークアップとは
まずはマークアップの説明を簡単に。Wikipedia の説明は以下のとおりです。
マークアップ言語(マークアップげんご、英: markup language)はコンピュータ言語の一種で、文章の構造(段落など)や見栄え(フォントサイズなど)に関する指定を文章とともにテキストファイルに記述するための言語である。文章に対するそれらの指定をマークアップ (markup) と呼び、マークアップを記述するための文字列をタグ (tag) と呼ぶ。
From: マークアップ言語 – Wikipedia
Word だと、文字を大きくしたいときは大きくしたい文字列を選択してフォントサイズを大きくしたり、文字の色を変えたいときは色を変えたい文字列を選択して色を指定したりしますよね。それに対して、マークアップ言語というのは、大きくしたい文字列や色を変えたい文字列にあらかじめ印を付け(マークアップし)ておいて、文書として読み込むときにその指定(サイズ変更や色変更)を反映させるというものです。
Wikipedia でも触れられているように、ウェブページの表示に使われている HTML というマークアップ言語の場合、例えば太字なら「<b>」と「</b>」で文字列を囲み(“bold”の“b”)、斜体にしたければ「<i>」と「</i>」で文字列を囲みます(“italic”の“i”)。「文字列を<b>太字</b>にしたり<i>斜体</i>にしたりします。」のような感じです。このように書かれているウェブページをブラウザで読み込むと、「文字列を太字にしたり斜体にしたりします。」となります。
Word で一括書式設定を行う方法
続いては、Word で複数の文字列の書式を一括変更する方法です。
Word で書式の変更を行う場合、基本的には目的の文字列を1つ選択して書式を変更して、他にもあればそれを選択して書式を変更して……という作業を繰り返します。ただ、これだと書式変更したい文字列がたくさんあるときに手間がかかりすぎますね。
例えばある文章中の「太字」という文字列をすべて太字にしたいとします。「太字」が2個とか3個とかしかないなら1つひとつ地道にやってもたいした作業ではありませんが、仮に「太字」が30個含まれている文章だったら、1つずつ太字にしていたら大変です。このような場合は、「太字」という文字列をすべて選択して、一括で太字にしてしまいましょう。
ある文章中の「太字」という文字列をすべて選択するには、Word の検索機能を使います。Word 2003の場合、Ctrl + F を押すと、検索ダイアログが表示されます。ここで「検索する文字列」のところに「太字」と入れて、「見つかったすべての項目を強調表示する」チェックボックスをオンにしてから「すべて検索」をクリックしてあげれば「太字」という文字列がすべて選択されます。バージョン2007ではなぜか普通にやってもできなくなりましたので、以下の拙記事をご覧ください。また、バージョン2010では、Ctrl + F を押しても検索ダイアログが表示されないようで、Ctrl + H でいったん置換ダイアログを表示させてから、「検索」タブをクリックして検索ダイアログを表示させなければならないようです。
» Word 2007で任意の文字列をすべて選択して一括で書式変更する方法 | きにきじ
で、目的の文字列(ここの例では「太字」)をすべて選択できたら、あとは太字ボタンをぽちっとクリックするか、フォントの設定から太字を選択してあげれば完了です。
Word をマークアップっぽく使う方法
ここまでは、「太字」なら「太字」、「文書」なら「文書」と、まったく同じ文字列の書式を一括で変更する方法でした。では、異なる文字列を一括で書式設定するにはどうしたらいいでしょうか。その答えが、「Word をマークアップっぽく使う」ということです。
まず、「太字」「文字列」という文字列を太字にしたいとしましょう。そして、太字にするためのタグを「<b>」と「</b>」で囲むということにしましょう。つまり、「<b>」と「</b>」で囲まれた文字列はあとで太字にするということです。上で書いた文章を Word に貼り付けて、「太字」および「文字列」を太字にするためのタグで囲ったのが下の画像です。
次に、タグで囲まれた文字列をすべて選択します。そのために、ひとまず、上で同じ文字列をすべて選択したように Ctrl + F で検索ダイアログを表示させます。ここからがポイントです(下の画像1つ目)。まず、「検索する文字列」には「\<b\>*\</b\>」と記入します。次に、「オプション」をクリックして「ワイルドカードを使用する」チェックボックスをオンにします。最後は同じ文字列の全選択と同様に「検索する場所」 → 「メイン文書」をクリックすれば、目的の文字列+タグがすべて選択されますので、書式を太字に設定してあげれば完了です(下の画像2つ目)。
ポイントは2点ありました。
- オプションでワイルドカードが使えるようにする
- 「検索する文字列」のところでワイルドカードとエスケープシーケンスを使う
まず1点目。ワイルドカードというのは、一般に「*」で表されるもので、「何らかの文字」を意味します。つまり、この「*」の部分にはどんな文字列が来ても OK ということです。
次に2点目。ワイルドカードを使うというところはいいですね。文字列を「<b>」と「</b>」で囲んでいるので、素直に考えれば「<b>*</b>」を検索すれば「<b>」で始まり「</b>」で終わる文字列が検索されるはずです。しかし実際には、「\<b\>*\</b\>」を検索しています。「<」と「>」の前に「\」が入っています。これが一般にエスケープシーケンスと呼ばれるものです。微妙に説明が難しいのですが、Word でワイルドカードありの検索を行った場合、「<」は「単語の先頭」、「>」は「単語の末尾」を意味します。よって、普通に「<b>*</b>」を検索してはいけません。「<」が「単語の先頭」を意味したり「>」が「単語の末尾」を意味したりせず、文字そのまま「<」と「>」を意味するようにしてあげるのが、特殊な文字をエスケープするというものです。他にも特殊な文字はたくさんあります。このあたりの詳しい検索テクニックについては「正規表現」などで調べてみてください。
さて、これで目的の文字列+タグの書式が変更されたので、あとは不要なタグを取り除きましょう。Ctrl + H で置換ダイアログを表示させ、「ワイルドカードを使用する」チェックボックスをオフに、「検索する文字列」に「<b>」と入力して「置換後の文字列」を空欄に、そして「すべて置換」をクリック。「検索する文字列」を「</b>」にしてもう1度「すべて置換」をクリック。これで余計なタグがなくなって書式変更された目的の文字列だけが残りました。
もし「[1]」「[10]」のような文字列を検索したければ「\[[0-9]\]」を検索します。これは「『[』で始まって『]』で終わり、中には数字だけが入っている文字列」を検索します。「(*)」を検索すると、「『(』で始まり『)』で終わる文字列」が検索されます。もっともっと応用が効きますので、覚えておくと多少なりとも役に立つ知識かと思います。
これで、Word をマークアップっぽく使うことができるようになりました。ただ、やっぱり面倒臭いですw 僕は頑張って TeX を覚えることにします……www
よろしければ以下の関連(してそうな)記事もどうぞ!
- Word 2007で任意の文字列をすべて選択して一括で書式変更する方法
- Office 2007 Wordで「標準の文字数を使う」が勝手に「行数だけを指定する」に変更される件
- フリーのファイル同期ツール「Windows Live Sync」はメッセンジャーの共有フォルダに代わるもの
- 美しいスライドデザインのためにガイドを利用する:複数ガイドの描き方も
- Amazonへのリンクの横にブクログへのリンクを追加するGreasemonkeyスクリプト「Add To-Booklog Links」を書いた
- « 前の記事:WordPress 3.0に無事アップデート完了
- » 次の記事:JavaScript のお勉強でストップウォッチを作ってみた
![[画像] 文章をWordに貼り付けて「太字」および「文字列」を太字にするためのタグで囲った状態](http://www.kagitaku.com/diary/images/100706_word-markup_before.png)
![[画像] ワイルドカード検索](http://www.kagitaku.com/diary/images/100706_word-markup_search.png)
![[画像] タグで囲んだ文字列を一括書式変更](http://www.kagitaku.com/diary/images/100706_word-markup_after.png)
![[画像] 今日の気になる記事「きにきじ」QR Code](http://www.kagitaku.com/diary/images/qrcode.png)
![[画像] きにきじ Feed](http://www.kagitaku.com/diary/images/Newspaper_Feed_128x128_ie6.png)
![[画像] kagitaku.com ロゴ](http://www.kagitaku.com/common/images/logo.png)





![[画像] 最上部へ](http://www.kagitaku.com/common/images/pageNavi-toTop.png)
![[画像] 最下部へ](http://www.kagitaku.com/common/images/pageNavi-toBottom.png)
![[画像] 履歴を戻る](http://www.kagitaku.com/common/images/pageNavi-back.png)
![[画像] 履歴を進む](http://www.kagitaku.com/common/images/pageNavi-forward.png)
![[画像] Contact](http://www.kagitaku.com/common/images/pageNavi-contact.png)
![[画像] Sitemap](http://www.kagitaku.com/common/images/pageNavi-sitemap.png)
Wordをマークアップで書く / MS Wordをむりやりマークアップっぽく使う方法:異なる文字列の書式を一括で変更する | きにきじ http://htn.to/7DJchJ
japanrock
» このコメントを引用してコメントする
Wordをマークアップで書く
japanrock
» このコメントを引用してコメントする
MS Wordをむりやりマークアップっぽく使う方法:異なる文字列の書式を一括で変更する | きにきじ http://www.kagitaku.com/diary…
ライフハック ジャパン
» このコメントを引用してコメントする
MS Wordをむりやりマークアップっぽく使う方法:異なる文字列の書式を一括で変更する | きにきじ http://bit.ly/cDVWso
lifehack_japan
» このコメントを引用してコメントする
Wordのスタイル機能を使いこなす話かと思ったら予想外の方法でした。
valp
» このコメントを引用してコメントする
valpさん、コメントありがとうございます。
邪道すぎて現実の使い道は皆無だと思っています(笑)
Tack @きにきじ管理人
» このコメントを引用してコメントする