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関連

    すべてのテーブルの結合を解除するWordマクロ

    すべてのテーブルのセル結合を解除するWordマクロを考えてみました(W…

  2. Excel

    Microsoft Edgeを操作するVBAマクロ(DOM編)

    2021/10/1 追記:本記事は公開されてから大分時間が経ってお…

  3. Office アドイン

    [Office用アプリ]「ActiveViewChanged」イベントと「getActiveView…

    v1.1で追加された、ビューが変更された時に発生するイベント「Acti…

  4. Office アドイン

    [Office用アプリ]Excel 2013の操作を動画で学べるアプリ「Excel video tu…

    Excel 2013の操作を動画で学べるアプリがMicrosoftから…

  5. Office アドイン

    [Office用アプリ]選択範囲変更時のイベントを利用する。

    ※ この情報はOffice 2013 カスタマー プレビュー版を元にし…

  6. アイコン一覧

    Office 2013 アイコン一覧(K,L)

    ・Office 2013 アイコン一覧 NUM…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP