Word VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


569 / 886 ←次へ | 前へ→

【323】複数の見出しの設定
質問  tootsie  - 05/8/16(火) 13:25 -

引用なし
パスワード
   ようやく猛暑も一段落している今日この頃です。
いつもお世話になります。

さっそくですが、以下のようなワードのマクロを作成するにはどのようにしたらよいでしょうか。

「◎」を検索し、その行に「見出し1」を設定する。(◎は文書中複数存在する)

以下のように、「マクロの記録」と「loop」を使って作ってみましたが、◎を検索したところで、作業が終わってしまいます。つらつら思うに、◎は見出し設定後も常に存在しつづけるので、true or faulse で判断するやり方ではだめでしょうか。

よい方法があればご指導ください。
よろしくお願いします。


以下、試しに作成したマクロ

Sub マクロ試作()

ここは蛇足です。

  'EEEEを削除する
  Dim tf As Boolean 'ブール型
  Selection.HomeKey Unit:=wdStory
  Selection.Find.ClearFormatting
  With Selection.Find
    .Text = "EEEE"
    .Replacement.Text = "^x"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = True
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = False
    .MatchFuzzy = False
  '繰り返すのはここから
   tf = .Execute '検索実行:成功したらTRUE
   Do While tf = True 'tf = True 間、Do〜Loop間を繰り返す
  Selection.MoveDown Unit:=wdLine, Count:=2, Extend:=wdExtend
  Selection.EndKey Unit:=wdLine, Extend:=wdExtend
  Selection.Delete Unit:=wdCharacter, Count:=1
  '次を実行
      tf = .Execute
     Loop
    '========================
  End With
 
  '[BoxNo]を削除する
  Selection.HomeKey Unit:=wdStory
  Selection.Find.ClearFormatting
  With Selection.Find
    .Text = "[BoxNo]"
    .Replacement.Text = "^x"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchFuzzy = False
    .MatchWildcards = True
  '繰り返すのはここから
   tf = .Execute '検索実行:成功したらTRUE
   Do While tf = True 'tf = True 間、Do〜Loop間を繰り返す
  Selection.HomeKey Unit:=wdLine
  Selection.MoveDown Unit:=wdLine, Count:=5, Extend:=wdExtend
  Selection.Delete Unit:=wdCharacter, Count:=1
  '次を実行
      tf = .Execute
     Loop
    '========================
  End With

ここからが見出しの設定です。

  '見出し1を設定する
  Selection.HomeKey Unit:=wdStory
  Selection.Find.ClearFormatting
  With Selection.Find
    .Text = "◎"
    .Replacement.Text = "^x"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchFuzzy = False
    .MatchWildcards = True
'繰り返すのはここから
   tf = .Execute '検索実行:成功したらTRUE
   Do While tf = True 'tf = True 間、Do〜Loop間を繰り返す
  Selection.Style = ActiveDocument.Styles("見出し 1")
    '次を実行
      tf = .Execute
     Loop
    '========================
   End With
End Sub
1,584 hits

【323】複数の見出しの設定 tootsie 05/8/16(火) 13:25 質問
【324】Re:複数の見出しの設定 H. C. Shinopy 05/8/16(火) 22:32 回答
【325】Re:複数の見出しの設定 tootsie 05/8/17(水) 16:15 お礼

569 / 886 ←次へ | 前へ→
ページ:  ┃  記事番号:
207140
(SS)C-BOARD v3.8 is Free