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

    関数一覧(Excel 2013 Customer Preview)

    関数の挿入ダイアログから抽出したExcel 2013 Customer…

  2. Microsoft Teams

    Microsoft Teamsでタブの構築を試してみました。

    下記記事の通り、Office 365に新たなコラボレーションツール「M…

  3. Office関連

    [PowerPoint]図やスライドをSVGとして保存する機能が追加されました。

    ※ 下記情報はInsider版のOfficeを元にしています。バージョ…

  4. Office関連

    ヘッドレス ChromeをSeleniumBasicで動かしてみました。

    Chromeがヘッドレスモードに対応した頃、Seleniumで操作した…

  5. Office アドイン

    [Office用アプリ]アプリ開発コンテスト・受賞者発表

    以前書いた記事でお知らせしていた「Apps for Office アプ…

  6. Office関連

    [Office 365 Solo]Skypeってスマートフォンからも使えるの?

    「Office 365 Soloをインストールしみてました。」でも書い…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP