1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MacのWordで、⌘Pで変更・コメントを含まない文書を印刷する

Posted at

Microsoft Word for Macの「校閲」機能で変更履歴機能やコメント機能を使っている場合、表示が「変更履歴/コメントなし」以外だと、デフォルトの印刷対象が「変更とコメントの内容を含む文書」になります。
スクリーンショット 2022-07-26 17.58.54.png
スクリーンショット 2022-07-26 17.59.30.png
個人的には、画面に変更履歴やコメントを表示しているときも、印刷は「文書」のみを印刷してほしい。
ということで、⌘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で作る

スクリーンショット 2022-07-26 11.20.45.png
AppleScriptを「サービス」から呼び出せるようにするには、Automatorを使うのが簡単です。上の画像のように、Microsoft Wordを「検索対象」として、「AppleScriptを実行」の(* Your script goes here *)の下にスクリプトを挿入しましょう。
Automatorワークフローを新規作成する際に書類の種類を「クイックアクション」とすることで、メニューバーの「サービス」から呼び出せるようになります。
保存すると自動的に「サービス」置き場($ ~/Library/Services)に保存され、「サービス」から呼び出せるようになります(たぶん。)。(ついでにTouch Barからも呼び出せるようになります。)
スクリーンショット 2022-07-27 15.11.31.png
ただし、実行しようとするとアクション"AppleScriptを実行"でエラーが起きました:"System EventsにApple Events を送信する権限がありません。"とかそんな感じのエラーメッセージが出てきます。
このスクリプトはSystem Eventsを使ってWordを操作するため、Wordにそういう操作権限を与える必要があります。
スクリーンショット 2022-07-27 15.21.48.png
「システム環境設定」→「セキュリティとプライバシー」→「オートメーション」で System Events.app によるWord操作権限を与えることで、動作するようになります(たぶん。)。

Wordの「プリント...」と自作サービスにキーボードショートカットを設定する

「システム環境設定」→「キーボード」→「ショートカット」→「アプリケーション」で、Word用のショートカットを作成・変更します。
スクリーンショット 2022-07-27 15.12.53.png
これで、Word使用中に⌘Pを入力すると、標準の印刷コマンドではなく今回自作したサービスを呼び出すようになります。

このように、キーボードショートカットの使い勝手をちょっと良くしたい場合に、自作サービスと標準のキーボードショートカットを入れ替えるという手法はわりと捗ります。(上のスクショの「Safariを確認して終了」も同様の例。)
まぁ、言うても校閲メニューで「変更履歴/コメントなし」にすれば良いって知ってたら作らなかったかもしれんけどな!
Enjoy!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?