プロが教える店舗&オフィスのセキュリティ対策術

Word2003のマクロで以下の処理をしたいと思います。

◆サンプル文書

    【ここには図があります】
      図表番号1

 ・・・をする場合は、図表番号1を参照してください。

◆実施したい処理

 『図表番号1』の書式を中央揃えにしたい。
 図表番号は『図表番号2』『図表番号3』といったように複数あるため、
 全ての図表番号の書式を中央揃えにします。

 また、本文中にある「図表番号1を参照・・・」の書式は変更しません。

 まとめると、図の下に記載した『図表番号*』の書式を中央揃えにしたいと
 いったものです。

◆その他

 マクロではなくても実施する手段があるかもしれませんが、この機会にwordのマクロを
 覚えて、汎用的に活用出来るようにしたいと思います。

以上、よろしくお願い致します。

A 回答 (2件)

手動でCtrl+Hで置換のダイアログを出し


オプション>>を開いてあいまい検索のチェックを外しワイルドカードのチェックを入れて
□{1,}(図表番号*)^13
ただし□はスペース

\1^13
に,さらに置換後の文字列欄の中で書式▼ボタンから段落で中央揃えの設定をつけて,全て置換する。


という動作をそのまま新しいマクロの記録でマクロに録ると

Sub Macro1()
'
' Macro1 Macro
' 記録日 2010/05/07 記録者
'
 Selection.Find.ClearFormatting
 Selection.Find.Replacement.ClearFormatting
 With Selection.Find.Replacement.ParagraphFormat
  .SpaceBeforeAuto = False
  .SpaceAfterAuto = False
  .Alignment = wdAlignParagraphCenter
  .WordWrap = True
 End With
 Selection.Find.Replacement.ParagraphFormat.Borders.Shadow = False
 With Selection.Find
  .Text = " {1,}(図表番号*)^13"
  .Replacement.Text = "\1^13"
  .Forward = True
  .Wrap = wdFindContinue
  .Format = True
  .MatchCase = False
  .MatchWholeWord = False
  .MatchByte = False
  .MatchAllWordForms = False
  .MatchSoundsLike = False
  .MatchFuzzy = False
  .MatchWildcards = True
 End With
 Selection.Find.Execute Replace:=wdReplaceAll
End Sub

のようなサンプルを自動で得られるので,良く読んで参考にする。

この回答への補足

早々の回答ありがとうございます。

対象とする図表番号を
" {1,}(図表番号*)^13"
で指定し、本文の方は処理の対象外とする訳ですね。

実際に試せる環境が職場になるため、後日結果の報告
をさせて頂きます。

大変参考になりました。

補足日時:2010/05/08 03:29
    • good
    • 0
この回答へのお礼

マクロを参考にし解決することが出来ました。
この度は大変ありがとうございました。

お礼日時:2010/05/10 20:07

[図表番号]を、図を右クリックまたは[挿入]から[図表番号]として


設定したものなら、その図表番号のある段落は[図表番号]スタイル
として書式設定されていると思います。

スタイルですから、[スタイルと書式]から段落配置を[中央揃え]に
することは簡単です。
http://office.microsoft.com/ja-jp/word/HP0518956 …
図表番号の段落にカーソルがある状態で[スタイルと書式]を選択。
[図表番号]のスタイル名を右クリックするなどで[変更]を選択。
[スタイルの変更]ダイアログ内にある[中央揃え]のコマンドボタン
を使用するなどして変更したら[OK]します。

これで同じスタイルが適用された段落は同じ書式になります。

マクロを覚える前に、Wordの基本概念を覚えたほうが、後々マクロ
を活用するときにも重要になります。

この回答への補足

ご回答ありがとうございます。

仰る通り、Wordの基本概念を覚えた方がマクロを理解する
うえでも役立ちますね。

適切なアドバイス感謝致します。

補足日時:2010/05/09 18:54
    • good
    • 0
この回答へのお礼

お教え頂いた基本操作を元に解決することが出来ました。
この度はありがとうございました。

お礼日時:2010/05/10 20:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!