ZoomやTeamsなどオンライン会議ツールでプレゼンテーションや資料共有しながら会議をすることが増えてきたと思います。そんな時、PowerPointでスライドを表示しつつ、Zoomでチャットコメントを読み書きしたり、さらに予定表を確認したりWeb検索したりと様々なアプリケーションを併用してデスクトップがわちゃわちゃしがちです。私もオンラインインタビュー等をする場合、資料提示用のパワポ、参加者プロフィールや予定表のExce、インタビューガイドのWord、Zoom/Teamsなどオンライン会議ツールのウインドウ、さらにはカメラ映像をOBS Studioで制御しようなどとすると大変です。
そんな時でも最優先でPowerPointのスライドを制御(ページめくり)したくて方法を模索しました。
ちなみに最新のZoomやTeamsではPowerPointファイルを直接共有ウインドウやバーチャル背景として選択できるようになっており、これを使うとZoom/Teamsのミーティングウインドウ上でスライドめくりボタンで移動することができかなり使い勝手が良いです。ただPowerPoint固有の機能(ペン記入とか)が制限されたり、そもそもPowerPoint以外のツールを使いたいこともあるので、今回はややマニアックな方法で実現することにしました。
完成イメージとしては、「そのアプリがフォアグラウンドにいても(=PowerPointがバックグラウンドにいても)、Ctrl + PageUp/Downを押すとPowerPointがフォアグラウンドに来た上でページが移動する」というスタイル。PageUp/Downはカーソルキーやスペースキー操作の陰に隠れて忘れられがちですが、こちらもPowerPointの標準のスライドめくりショートカットです。これにCtrlを追加することで、グローバルなキーボードショートカットにする、というワケです。普段からPageUp/Downなんて使わないよって人なら、Ctrlなしをトリガーにしてもいいでしょう。
実現方法としてはAutoHotKeyという多機能キーボードショートカットカスタマイズツールを使います。
AutoHotKeyの使い方をイチから説明すると大変なボリュームになるので、とりあえずコード例だけ。
2022.12.26追記: AutoHotKeyのスクリプト記法は2.0でリニューアルされました。以下のスクリプトは1.x時代のもので最新版では動かない可能性があります。
AutoHotKeyをインストール後、これをメモ帳などにコピペし、「いつでもパワポ.ahk」みたいな名前で保存(拡張子のahkはAutoHotKeyの頭文字です)し、ダブルクリックすればAutoHotKeyが起動してこの設定が読み込まれます。タスクトレイにグリーンの「H」アイコンがいれば常駐している証です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
; スクリプト更新時に確認を出さない #SingleInstance force ;いつでもPowerPointスライド制御 ^PgDn:: if WinExist("ahk_exe POWERPNT.EXE") { WinActivate Send {PgDn} return } return ^PgUp:: if WinExist("ahk_exe POWERPNT.EXE") { WinActivate Send {PgUp} return } return |
「^PgDn::」が起動キーの定義で「^」がCtrlキーです。Altなら「!」、Shiftなら「+」に変更します。Altキーを押しながら右カーソルなら「!Right::」でいけると思います。
ミソは「if WinExist(“ahk_exe POWERPNT.EXE”)」のところで、起動中のアプリにパワポがあったらという条件設定を意味します。「WinActivate」でアクティブ化(フォアグラウンド化)し、「Send {PgUp}」で文字通りキーコードを送信しているという寸法です。
個人的にはパワポウインドウはOBSなどで見えていれば良い場合もあるので、バックグラウンドのままとか最小化したまま、仮想デスクトップの別画面に追い出した状態のまま、とかもチャレンジしたんですが上手くいきませんでした。ControlSendコマンド辺りを使ってどうにか、と思ったんですが成功しませんでした。なんか方法をご存じの方がいたら是非お知らせください。
またこの例ではあまり使っていないキーコンビネーションをトリガーに使いましたが、先日裏ブログで紹介したマクロパッドなどに割り付けて1キーで制御するのもアリかなと思います。
この手のことはElgatoのStream Deckがメジャーですが、AutoHotKeyを駆使すれば「特定のアプリに対して送信」「特定のアプリがフォアグラウンドにいる時だけ送信」などの制御も可能なため、安価に近いことが実現できると思います。
Elgato STREAM DECK ライブコンテンツ作成コントローラー スイッチャー USB3.0 LCDボタン:15個 10GAA9901
キートップが液晶で動的に変化はしませんが、既製品ではこういう小型キーボードも使えると思います。
AutoHotKeyは究めればかなり複雑な制御ができるので是非研究してみてください。
“オンラインインタビュー/プレゼン中のスライド操作を簡便化する” への1件の返信