ようやく、アウトラインレベルに関するマクロの登場です。
ここまでの経緯は、「見出しマップの目次 」をご覧ください。
これから数回にわたってマクロの例を示します。
最初は、特許明細書にありがちな例を示します。
<目次>
このマクロでできること
特許明細書における段落番号(【0001】)など、墨付きかっこで始まるの段落のアウトラインレベルをレベル1に設定します。
アウトラインレベル1になるので、見出しマップを表示したときに項目として表示されます。
番号をクリックすれば、その段落番号にジャンプができますよ。
(特開2004-334821の例。たまたまネットで見つけただけで、深い意味はございません。)
マクロの解説
以下の8~11行の処理を、すべての段落で実施します(7行と11行のFor-Nextの設定)。
8行 段落の先頭の「スペース(全角・半角ともに)」と、段落中の全て「タブ」を削除して、myStrの変数に代入します。
→段落先頭に、タブやスペースが入ることがあると思いますが、それらの影響をうけずに、先頭文字の判定をするための前処理です。
9行 myStrの先頭に、「【」、その次に全角数字(0~9)が4回あり、「】」があるかを確認します。
→Like演算子 を用います。パターンは、"【[0-9][0-9][0-9][0-9]】*" です。
10行 上記9行の判定がTrue(はい)であれば、その段落のアウトラインレベルを1に設定します。
マクロ
Sub JPara() '日本語段落番号設定 Dim myPara As Paragraph Dim myStr As String For Each myPara In ActiveDocument.Paragraphs myStr = LTrim(Replace(myPara.Range.Text, vbTab, "")) If myStr Like "【[0-9][0-9][0-9][0-9]】*" Then myPara.Format.OutlineLevel = wdOutlineLevel1 End If Next End Sub
-
3. Re:Re:図表相互参照マクロについて
>新田順也☆ワードプログラマーさん
すばやいご対応ありがとうございます。
前回の
「それと、参照先の図をあとから削除したり、または増やしたりすると、
リンク元との同期がとれなくなってしまいます。」というコメントは、私の勘違いでした。
自分でマクロのラベル表示に小細工を施したのが
正しく動作しない原因でした。
(ラベルを【図 1】のようにくくろうとした)混乱させてしまって申し訳ありません。
今日、オリジナルのマクロで動作確認してみたところ、
削除された図表番号に参照をつけていたフィールドは、「エラー!参照元が見つかりません」
にきちんと変わっていました。
同時に、前後の参照番号は正しく振りなおされていました。
d(・∀・*)グー -
2. Re:図表相互参照マクロについて
>おちょこちょいさん
コメントをどうもありがとうございます。
使っていただいて感想をいただけるのが
励みになります。ありがとうございます。また、マクロのご利用をどうもありがとうございます。
ひとまず、リンク先の記事に多少追記して
こちらに記事にしました。ご要望いただいたことについては、マクロの
コードだけで対応できるものと、ユーザーフォーム
を用いて対応できるものとがあります。ブログでは、コードで対応できるところを
公開させていただこうと思っています。いただいたご要望は、ユーザーフォームで
ないと実現できないものを含んでいますので
対応できないところがあります。その点をご了承ください。
また、ご要望についてもまだ理解していない
ところがありますので、私の今後の記事に対して
コメントをつけてください。提案できることがあるので、それを記事に
していきます。 -
1. 図表相互参照マクロについて
まちがって古いブログにコメントしてしまいました
http://wordvba.cocolog-nifty.com/blog/2009/08/sub-0d35.html?cid=59998662#comment-59998662
コメント