Office関連

「変更履歴とコメントの表示」を設定するWordマクロ

Microsoft コミュニティに「変更履歴とコメントの表示」オプションを自動的に設定したい、との質問があったので、マクロでの処理を考えてみました。

・word2010で、変更履歴のオプションを保存することはできますか? – マイクロソフト コミュニティ
http://answers.microsoft.com/thread/22d3a6ec-4650-43f1-9f55-661b2a805612

変更履歴とコメントの表示メニューの各項目(toggleButton)には下記のようにコントロールIDが割り振られています。

コメント ReviewShowComments
インク ReviewShowInkMarkup
挿入と削除 ReviewShowInsertionsAndDeletions
書式設定 ReviewShowFormatting
吹き出し表示領域の背景色 ReviewShowMarkupAreaHighlight
変更履歴を吹き出しに表示 ReviewShowRevisionsInBalloons
すべての変更履歴を本文中に表示 ReviewShowRevisionsInline
コメント/書式のみ吹き出しに表示 ReviewShowOnlyCommentsAndFormattingInBaloons
更新箇所の強調表示 ReviewHighlightUpdates
その他の校閲者 ReviewOtherAuthors

そのため、GetPressedMsoメソッドを使えばコントロールが現在押されているかどうかが取得できるので、状態を取得した上でExecuteMsoメソッドを使えば、各コントロールの状態を自由に設定できるはずです。

というわけで、考えたのが下記のコードです。

Option Explicit

Public Sub SetReviewShowMarkupMenu()
'変更履歴とコメントの表示設定
  ToggleControl "ReviewShowComments", False 'コメント
  ToggleControl "ReviewShowInkMarkup", True 'インク
  ToggleControl "ReviewShowInsertionsAndDeletions", True '挿入と削除
  ToggleControl "ReviewShowFormatting", False '書式設定
  ToggleControl "ReviewShowMarkupAreaHighlight", False '吹き出し表示領域の背景色
  ToggleControl "ReviewShowRevisionsInBalloons", False '変更履歴を吹き出しに表示
  ToggleControl "ReviewShowRevisionsInline", False 'すべての変更履歴を本文中に表示
  ToggleControl "ReviewShowOnlyCommentsAndFormattingInBaloons", True 'コメント/書式のみ吹き出しに表示
  ToggleControl "ReviewHighlightUpdates", True '更新箇所の強調表示
  'ToggleControl "ReviewOtherAuthors", True 'その他の校閲者
End Sub

Private Sub ToggleControl(ByVal idMso As String, ByVal flg As Boolean)
'指定したコントロール(ToggleButton)の値を設定する
  Select Case Application.CommandBars.GetPressedMso(idMso)
    Case True: If flg = True Then Exit Sub
    Case False: If flg = False Then Exit Sub
  End Select
  Application.CommandBars.ExecuteMso idMso
End Sub

上記SetReviewShowMarkupMenuマクロを実行すると、下図のように「インク」「挿入と削除」「更新箇所の強調表示」のみがチェックされます。

SetReviewShowMarkupMenu_01

Word起動時(ファイルを開いたとき)にマクロを実行するには、リボンをカスタマイズして、customUI要素のonLoad属性のコールバックで処理を行います。

・リボンXML

<?xml version="1.0" encoding="utf-8"?>
<customUI onLoad="Ribbon_onLoad" xmlns="http://schemas.microsoft.com/office/2006/01/customui" />

・VBAコード

Option Explicit

Public Sub Ribbon_onLoad(ribbon As IRibbonUI)
  ToggleControl "ReviewShowComments", False 'コメント
  ToggleControl "ReviewShowInkMarkup", True 'インク
  ToggleControl "ReviewShowInsertionsAndDeletions", True '挿入と削除
  ToggleControl "ReviewShowFormatting", False '書式設定
  ToggleControl "ReviewShowMarkupAreaHighlight", False '吹き出し表示領域の背景色
  ToggleControl "ReviewShowRevisionsInBalloons", False '変更履歴を吹き出しに表示
  ToggleControl "ReviewShowRevisionsInline", False 'すべての変更履歴を本文中に表示
  ToggleControl "ReviewShowOnlyCommentsAndFormattingInBaloons", True 'コメント/書式のみ吹き出しに表示
  ToggleControl "ReviewHighlightUpdates", True '更新箇所の強調表示
  'ToggleControl "ReviewOtherAuthors", True 'その他の校閲者
End Sub

Private Sub ToggleControl(ByVal idMso As String, ByVal flg As Boolean)
'指定したコントロール(ToggleButton)の値を設定する
  Select Case Application.CommandBars.GetPressedMso(idMso)
    Case True: If flg = True Then Exit Sub
    Case False: If flg = False Then Exit Sub
  End Select
  Application.CommandBars.ExecuteMso idMso
End Sub

リボンのカスタマイズについては下記ページをご参照ください。

・初心者備忘録 リボン関連
//www.ka-net.org/ribbon.html
・初心者備忘録ブログ リボン関連カテゴリー
//www.ka-net.org/blog/?cat=1

2014年5月の人気記事前のページ

[Office]WordやPowerPointで画像の画質が悪くなった時の対処方法次のページ

関連記事

  1. アイコン一覧

    Office 2013 アイコン一覧(S)

    ・Office 2013 アイコン一覧 NUM…

  2. Office関連

    「いちばんやさしいPowerPoint VBAの教本」レビュー

    「インストラクターのネタ帳」で有名な伊藤さんが執筆された書籍第二弾、「…

  3. Office関連

    Outlookの連絡先をvcf形式で一括保存する方法

    Outlookの連絡先をvcf形式で保存する場合、通常は「連絡先を v…

  4. Office関連

    起動中のMicrosoft EdgeからタイトルとURLを取得するVBAマクロ(DOM編)

    前回の記事で、UI Automationを使って起動中のMicroso…

  5. Office関連

    Visual Studio Community 2015でOffice開発する。

    「Microsoft、統合開発環境「Visual Studio 201…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP