Excel VBAを使用してWordの特定のセクションのレビュー自動リマインダーを設定する方法

この記事では、Excel VBAを用いてWordの特定のセクションに対するレビューリマインダーの自動設定方法について解説します。具体的なコード例やその詳細な解説、さらに応用例を3つを含めて説明しますので、VBAの初心者から中級者までが役立つ内容となっています。

日程Fit。無料・登録不要。「いつ空いてる?」を、ひとつのリンクで。リンクを送って、○△×でかんたん日程調整。無料で日程を作る。
目次

VBAによるWordのセクションレビュー自動リマインダーの基本設定

Wordの特定のセクションのレビューリマインダーを自動で設定するためのExcel VBAの基本的なコードは以下の通りです。


Sub SetReviewReminder()
    Dim WordApp As Object
    Dim WordDoc As Object
    Dim iSection As Integer
    Dim strMessage As String
    
    ' Wordを操作するためのオブジェクトを生成
    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = True
    Set WordDoc = WordApp.Documents.Open("C:\path\to\your\document.docx")
    
    ' セクションの数を確認し、それに基づいてリマインダーを設定
    For iSection = 1 To WordDoc.Sections.Count
        strMessage = "セクション" & iSection & "のレビューをしてください。"
        WordDoc.Sections(iSection).Range.Comments.Add Range:=WordDoc.Sections(iSection).Range, Text:=strMessage
    Next iSection
    
    WordDoc.Save
    WordDoc.Close
    WordApp.Quit
    Set WordDoc = Nothing
    Set WordApp = Nothing
End Sub

コードの詳細解説

このコードでは、Excel VBAを使用してWord文書の各セクションにレビューリマインダーを追加しています。各行の詳細は以下のとおりです。

1. Wordアプリケーションと文書のオブジェクトを定義。
2. Wordアプリケーションを開き、特定の文書を開く。
3. 文書の各セクションをループし、各セクションにレビューコメントを追加。
4. 変更を保存し、文書とアプリケーションを閉じる。

応用例

1. 特定のセクションのみにリマインダーを設定

特定のセクションだけにリマインダーを設定する場合のコードは以下のようになります。


Sub SetSpecificSectionReminder()
    '... 上部のコードは基本と同じ
    
    ' 例:セクション2と4だけにリマインダーを設定
    Dim targetSections() As Integer
    targetSections = Array(2, 4)
    
    For Each iSection In targetSections
        strMessage = "セクション" & iSection & "のレビューをしてください。"
        WordDoc.Sections(iSection).Range.Comments.Add Range:=WordDoc.Sections(iSection).Range, Text:=strMessage
    Next iSection
    
    '... 下部のコードは基本と同じ
End Sub

2. リマインダーのメッセージをカスタマイズ

リマインダーメッセージをカスタマイズするコードは以下の通りです。


Sub CustomizeReminderMessage()
    '... 上部のコードは基本と同じ
    
    Dim customMessages() As String
    customMessages = Array("第1セクションの確認をお願いします。", "第2セクションは重要なので、注意深くチェックしてください。")
    
    For iSection = 1 To UBound(customMessages)
        strMessage = customMessages(iSection - 1)
        WordDoc.Sections(iSection).Range.Comments.Add Range:=WordDoc.Sections(iSection).Range, Text:=strMessage
    Next iSection
    
    '... 下部のコードは基本と同じ
End Sub

3. 期日を超えた場合にアラートメッセージを表示

期日を超えた場合にアラートメッセージを表示するコードは以下のようになります。


Sub AlertForOverdueSections()
    Dim deadline As Date
    Dim today As Date
    
    deadline = #9/30/2023#
    today = Date
    
    '... 上部のコードは基本と同じ
    
    If today > deadline Then
        MsgBox "セクションのレビュー期日を超過しています!"
    End If
    
    '... 下部のコードは基本と同じ
End Sub

まとめ

Excel VBAを使用してWord文書のセクションにレビューリマインダーを自動で設定する方法を解説しました。このテクニックを使えば、複数のセクションを持つ大きなWord文書のレビュー作業を効率的に進めることができます。応用例を利用して、さらにカ

スタマイズした自動リマインダーの設定も可能です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次