Wordでは文字列に対して「太字」や「下線」などの文字飾り、蛍光ペン、文字色、ルビ、脚注などさまざまな設定を行うことができます。しかし、そのWordファイルをInDesignに読み込むだけ(「読み込みオプション」で「テキストと表のスタイルおよびフォーマットを保持」して読み込む)では設定をレイアウトに正しく反映できないこともあります。問題を回避するために私は以下の2ステップの作業をおこなっています。
@Wordで各設定をタグなどの文字列に置き換える(マクロで処理)

AInDesignに読み込んだ後、タグなどをInDesignの設定に置き換える(検索/置換やスクリプトで処理)

これまで当ブログでは少しずつこれらの作業に関する情報を掲載してきました。
・ルビをJavaScriptで処理する
(http://mottainaidtp.seesaa.net/article/360652630.html)
・Wordの文字飾り・文字色・蛍光ペンをInDesignの文字スタイルに反映する
(http://mottainaidtp.seesaa.net/article/443674715.html)
・Wordの脚注・文末脚注をInDesignに反映する
(http://mottainaidtp.seesaa.net/article/456718640.html)
これらを使うことで仕事がずいぶん楽になりました。しかし処理の方法や手順を間違えると書式が正しく反映できなかったり文字が欠落してしまったりすることもあります。そこで今回は一連の作業を整理することにしました。また、不足していた「Wordでルビ設定を解除(文字列で表現する状態に加工)するマクロ」も公開します(最下部・サンプルデータに収録)。
Word側での作業
まずはWord側で各設定をタグなどの文字列に置き換えます。
※ここに示したのは私のマクロやスクリプトなどを使用した場合の手順です。他の方法で処理されるのであれば順番が異なる可能性もあります。
※必ずWord文書ファイルのバックアップをとった上で作業しましょう。
作業A-1: ルビを解除して文字列化する
ルビを解除して「〓楽譜《がくふ》」のような体裁の文字列に展開します。マクロは本ページ(下部にリンクを掲載)よりダウンロードしてください。
※環境によってマクロ実行中に「この操作を元に戻すことはできません。継続しますか?」というアラートが表示されることがありますがそのまま実行してください。
※何らかのトラブルでフィールドコード(「{EQ \*jc2〜}」「{QUOTE" = 〜"}}」など)が表示されたままになった場合「B_999_フィールドコードを隠す」のマクロを実行してください。非表示の状態になります。
※マクロはMac版Word用に作成しています。「\」を「¥」に置き換えることでWindowsでも使用できると思いますが試しておりません。
作業A-2: 文字飾り、文字色、蛍光ペン、傍点部分にタグをつける
文字飾り(太字、斜体、下線、打ち消し線、上付き、下付き)や文字色、蛍光ペン、傍点が設定された箇所をタグで囲みます。このマクロは『Wordの文字飾り・文字色・蛍光ペンをInDesignの文字スタイルに反映する』(http://mottainaidtp.seesaa.net/article/443674715.html)でダウンロード可能です。
※文字色については『Wordの文字飾り・文字色・蛍光ペンをInDesignの文字スタイルに反映する』(http://mottainaidtp.seesaa.net/article/443674715.html)でも述べたように「標準の色」のみに対応しています。
※蛍光ペンについては『Wordの文字飾り・文字色・蛍光ペンをInDesignの文字スタイルに反映する』(http://mottainaidtp.seesaa.net/article/443674715.html)でも述べたようにdocx形式(およびdocm形式)のファイルでは一部の色をタグ化できません。
作業A-3: 脚注、文末脚注を解除して本文に組み込む
脚注および文末脚注を解除して「〔◆◆1〓脚注です。◇◇〕」などの文字列に展開します。
このマクロはWordの脚注・文末脚注をInDesignに反映する(http://mottainaidtp.seesaa.net/article/456718640.html)でダウンロード可能です。
※上記ダウンロード先ページにも書いたように作業の前に「表の直後に改行記号を挿入する」という作業もおこなっておくと良いでしょう。
InDesign側での作業
InDesign側ではテキストを読み込んだ後、Wordとは反対の手順で作業をおこないます。
作業B-1: 脚注、文末脚注を処理する
「〔◆◆1〓脚注です。◇◇〕」などの文字列を脚注、文末脚注に組み立てます。
このスクリプトは『Wordの脚注・文末脚注をInDesignに反映する』(http://mottainaidtp.seesaa.net/article/456718640.html)でダウンロード可能です。
作業B-2: 文字飾り、文字色、蛍光ペン、傍点を処理する
検索/置換でタグ部分に書式を適用し、タグは削除します。
このスクリプトは『Wordの文字飾り・文字色・蛍光ペンをInDesignの文字スタイルに反映する』(http://mottainaidtp.seesaa.net/article/443674715.html)でダウンロード可能です。
※2019.06.28にサンプルデータを更新しています(タグが重複する箇所を処理から除外するクエリを追加)
※検索/置換クエリを一度に実行するには市川せうぞーさんの「run_Queries 0.3」や当ブログの「フォルダ内のGREPクエリをスクリプトで一括実行するを使用します。
作業B-3: ルビを処理する
「〓楽譜《がくふ》」などの文字列を親文字+ルビ文字に組み立てます。
このスクリプトは『ルビをJavaScriptで処理する』(http://mottainaidtp.seesaa.net/article/360652630.html)でダウンロード可能です。
マクロ、スクリプトを使う中では思わぬエラーが生じる可能性もあります。充分にテストをした上でご使用ください。また、作業の前には必ずバックアップをとっておきましょう。
・ルビをJavaScriptで処理する
(http://mottainaidtp.seesaa.net/article/360652630.html)
・Wordの文字飾り・文字色・蛍光ペンをInDesignの文字スタイルに反映する
(http://mottainaidtp.seesaa.net/article/443674715.html)
・Wordの脚注・文末脚注をInDesignに反映する
(http://mottainaidtp.seesaa.net/article/456718640.html)
InDesignのルビ振りでとても助かっております。ありがとうございます。
久々に仕事で使ってみたところ、以前は出なかったエラーが発生したので報告いたします。
Wordのルビを解除するマクロを実行すると、
Visual Basicが起動し「コンパイル エラーです。: 構文エラー」のアラートが出ます。
「Private Sub ルビを置換する()」のところ、
----
.Text = "[Ee][Qq][ ]*[ ]jc[0-5][ ]*(*((*)),(*))",(*)\)"
.Replacement.Text = "QUOTE" + Chr(34) + "〓2《1》" + Chr(34)4)
----
の部分が赤くなっています。
また、マクロを実行した後のWordのドキュメントはフィールドコードが表示されるようになり、「〓楽譜《がくふ》」のような体裁にはなりません。
制作環境はmacOS 11.7.10(Big Sur)、Word for Mac 16.77.1です。
スクリプトもマクロも全くの素人なので、的外れな報告でしたら大変申し訳ありません。
お時間あるときにチェックいただけると幸いです。
照山です。コメントをありがとうございます。
拝見した2行は、どうも壊れているように思います。
不要なものが混ざっていたり、必要なバックスラッシュが欠けたりしているようです。
正しくは
.Text = "[Ee][Qq][ ]\\\*[ ]jc[0-5][ ]*\(*\((*)\),(*)\)"
.Replacement.Text = "QUOTE" + Chr(34) + "〓\2《\1》" + Chr(34)
です。
私も経験がありますがWordのマクロが壊れることはあるようです。
他の行にも問題が生じていることが考えられますので
あらためてサンプルデータのコードを読み込み直すか
全体をコピー&ペーストしてみてはどうでしょうか。
なお、フィールドコードが表示されたままになってしまった場合、
お手数ですが「B_999_フィールドコードを隠す」を実行してください。
さっそくご返信くださいまして誠にありがとうございます。
マクロが壊れてしまうこともあるのですね。修正したところ、正常に動作しました。
これからルビ付けの多い仕事が始まるので、本当に助かりました。
フィールドコードの非表示もご教示ありがとうございます。
wordで作られている数式をInDesignに取り込むスクリプトなどないのでしょうか?
普段はwordをPDFに変換、さらにイラレで開いてイラレデータにしInDesignに貼り込んでいます。
この工程短縮できないでしょうか?
照山です。コメントをありがとうございます。
数式については私も良い方法を知りません。
twitter(X)を見ても皆さん困っているようですね。
ワードとインデザインのルビ処理について困り果てていたところ、こちらのサイトに行きつきました。
主様の「ルビを解除して文字列化する」に非常に強い興味を抱いたのですが、こちらの公開は終了されているのでしょうか。
わたしがリンクを見過ごしているのなら申し訳ございません。今一度マクロの公開を願えませんでしょうか。
宜しくお願い致します。
照山です。コメントをありがとうございます。
マクロは今も公開しております。
記事内の下部・下記の部分からダウンロードできると思います。
「作業A-1用サンプルデータはこちら《minimum_ruby_20190615b.zip》です。」
お試しいただけますでしょうか。
念のためURLは以下の通りです。
https://mottainaidtp.up.seesaa.net/image/minimum_ruby_20190615b.zip
私がどうも至らなかったようです。
指定のアドレスにてマクロをいただきました。
ありがとうございました。
無事にダウンロードしていただけたようで安心しました。
つい先日まで私が「http」のままでブログを公開していたため
ブラウザのセキュリティに引っかかってしまったのかもしれません。
現在は「https」で公開しておりますので、
そのような問題もなくなると思います。
今後ともよろしくお願いします。