Microsoft Word for Macの「校閲」機能で変更履歴機能やコメント機能を使っている場合、表示が「変更履歴/コメントなし」以外だと、デフォルトの印刷対象が「変更とコメントの内容を含む文書」になります。
個人的には、画面に変更履歴やコメントを表示しているときも、印刷は「文書」のみを印刷してほしい。
ということで、⌘Pを押したら、プリントダイアログを開いて印刷対象を「文書」にするという一連の操作を、AppleScript等を使って自動化します。(制作環境:macOS Monterey v12.3.1、Microsoft Word for Mac v16.63)
プリントダイアログを開いて操作するAppleScript
(* Wordで印刷する際、デフォルトの印刷対象が「変更とコメントの内容を含む文書」なので、これを「文書」に変更する操作を行うスクリプト *)
tell application "Microsoft Word"
activate
end tell
tell application "System Events"
(* プリントダイアログを開く。キーボードショートカット変更対応版 *)
tell process "Microsoft Word"
pick menu item "プリント..." of menu "ファイル" of menu bar item "ファイル" of menu bar 1
end tell
delay 1
tell window "プリント" of process "Microsoft Word"
tell pop up button 3
click
click menu item "Microsoft Word" of menu 1
end tell
tell group 1
click pop up button 1 (*印刷対象*)
click menu item "文書" of menu 1 of pop up button 1
end tell
tell pop up button 3
click
click menu item "印刷部数と印刷ページ" of menu 1 (* 印刷部数と印刷ページ *)
end tell
end tell
end tell
上記AppleScriptを実行すると、プリントダイアログを開いて、カスタマイズ項目「Microsoft Word」を開いて、印刷対象を「文書」に変更して、カスタマイズ項目「印刷部数と印刷ページ」に戻ります。
実装上のポイントとして、AppleScriptからプリントダイアログを開く処理は keystroke "p" using command down
を使う作例が多いのですが、今回は⌘Pのキーボードショートカットを今回作るサービスに置き換えるので、このショートカット呼出方式だと無限ループになってしまうため、メニューバーからコマンドを実行(pick
)する方式にしています。
上記スクリプトを呼び出す「サービス」をAutomatorで作る
AppleScriptを「サービス」から呼び出せるようにするには、Automatorを使うのが簡単です。上の画像のように、Microsoft Wordを「検索対象」として、「AppleScriptを実行」の(* Your script goes here *)
の下にスクリプトを挿入しましょう。
Automatorワークフローを新規作成する際に書類の種類を「クイックアクション」とすることで、メニューバーの「サービス」から呼び出せるようになります。
保存すると自動的に「サービス」置き場($ ~/Library/Services
)に保存され、「サービス」から呼び出せるようになります(たぶん。)。(ついでにTouch Barからも呼び出せるようになります。)
ただし、実行しようとするとアクション"AppleScriptを実行"でエラーが起きました:"System EventsにApple Events を送信する権限がありません。"
とかそんな感じのエラーメッセージが出てきます。
このスクリプトはSystem Events
を使ってWordを操作するため、Wordにそういう操作権限を与える必要があります。
「システム環境設定」→「セキュリティとプライバシー」→「オートメーション」で System Events.app によるWord操作権限を与えることで、動作するようになります(たぶん。)。
Wordの「プリント...」と自作サービスにキーボードショートカットを設定する
「システム環境設定」→「キーボード」→「ショートカット」→「アプリケーション」で、Word用のショートカットを作成・変更します。
これで、Word使用中に⌘Pを入力すると、標準の印刷コマンドではなく今回自作したサービスを呼び出すようになります。
このように、キーボードショートカットの使い勝手をちょっと良くしたい場合に、自作サービスと標準のキーボードショートカットを入れ替えるという手法はわりと捗ります。(上のスクショの「Safariを確認して終了」も同様の例。)
まぁ、言うても校閲メニューで「変更履歴/コメントなし」にすれば良いって知ってたら作らなかったかもしれんけどな!
Enjoy!