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

    YouTube動画挿入アドイン for PowerPoint

    前回の記事でPowerPoint 2013でYouTubeの動画が挿入…

  2. Office関連

    フッターにページ番号と総ページ数を挿入するWordマクロ

    以前書いた、フッターに「ページ番号 / 総ページ数」を挿入するWord…

  3. Office関連

    ちゃうちゃう! 2.0を操作するWordマクロ

    「テキスト比較ソフト「ちゃうちゃう!」がバージョンアップされました。」…

  4. アイコン一覧

    Office 2013 アイコン一覧(O)

    ・Office 2013 アイコン一覧 NUM…

  5. Office関連

    Office 2016で“ヤツ”を召喚してみた。

    4月1日にMicrosoft Office公式アカウント、MSOffi…

  6. Office関連

    [PowerPoint]ドキュメントを開いたときに自動的にマクロを実行する

    ドキュメントを開いたときに自動的にマクロを実行する方法として、Word…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP