【PowerPoint】スライドショー中にペン機能を使うと「ボタンが押せない」罠を回避する裏技コード
スライドショー実行中にペン(インク機能)で画面に書き込みを行い、その後に自作の「全消去ボタン」や「色変更ボタン」を押そうとしたら……
''ボタンが反応しない!'' 代わりにボタンの上に線が描かれてしまった……。
そんな経験はありませんか?
これはPowerPointの仕様で、ペンモードになっている間は、動作設定ボタンのクリックイベントよりも「描画」が優先されてしまうために起こります。
今回は、この厄介な問題を''「クリック」ではなく「マウスの通過」というイベントを使う''ことで回避し、ペンモードから自動的に矢印モードへ戻すVBAマクロを紹介します。

解決策のソースコード(標準モジュール)
まずは結論のコードです。以下のコードを標準モジュールに貼り付けてください。
Option Explicit
' 矢印カーソルに戻すマクロ
' 動作設定の[マウスの通過]に割り当てて使用します
Sub 矢印に戻す()
' ショートカットキー Ctrl + A (矢印モードへ戻す) を送信
SendKeys "^a"
End Sub
' (参考) インクを全消去するマクロ
' ※これはクリック時や、矢印に戻した後に実行する用
Sub インク全消去()
' ショートカットキー E (全消去) を送信
SendKeys "e"
End Subこのたった数行のコードが、プレゼン中の冷や汗を救います。
設定手順:魔法の「マウスの通過」設定
コードを書いただけでは動きません。ここからがこの裏技の最大のポイント、''「マウスの通過」''への割り当てです。
1. スライド上に図形(ボタン)を配置します。
2. その図形を選択し、「挿入」タブ -> 「動作」をクリックします。
3. ''「マウスの通過」タブ''を選択します(ここが重要!)。
4. 「マクロの実行」を選び、先ほどの `矢印に戻す` を選択します。
これで、ペンモードで書き込みをした後、このボタンの上に''マウスカーソルを乗せるだけ''で、自動的にペンが矢印に戻り、クリックできる状態になります。
動画で実際の挙動を確認する
百聞は一見に如かず。実際にペンモードから「通過」だけでカーソルが戻る魔法のような挙動を動画でご覧ください。
クリックできないイライラが解消される瞬間です。
- [17:30](https://www.youtube.com/watch?v=iLE-8ev77os&t=1050s) : 神テクニック!「マウスの通過」設定の実演シーン
- [14:20](https://www.youtube.com/watch?v=iLE-8ev77os&t=860s) : なぜボタンが押せないのか?仕様の罠を検証
なぜ「SendKeys」なのか?
PowerPointのVBAには、スライドショー中のカーソルモードを直接変更するプロパティが(簡単には)用意されていません。
そこで、PowerPointの標準ショートカットキーである ''[Ctrl] + [A]'' (矢印に戻す)を、VBAから `SendKeys "^a"` で強制的に送り込むという力技を使っています。
- `^` は [Ctrl] キーを表します。
- `a` は [A] キーを表します。
同様に、インクを全消去するショートカットキー ''[E]'' を送るなら `SendKeys "e"` となります。
- [25:50](https://www.youtube.com/watch?v=iLE-8ev77os&t=1550s) : SendKeysコードの詳しい解説
注意点と課題
この方法は強力ですが、`SendKeys` はキーボード入力をシミュレートするコマンドであるため、PCの環境やタイミングによっては動作が不安定になることがあります(例:NumLockが外れるなど)。
動画内では、試行錯誤しながらこの結論にたどり着くまでのプロセスも公開しています。「もっと良い方法があるよ!」という方は、ぜひ動画のコメント欄で教えていただけると嬉しいです。
関連リンク
今回の動画はこちらです。もし役に立ったら高評価をお願いします。
【PowerPoint】ボタンが押せない!?パワポのペン機能で「クリックできない罠」を回避する裏技
質問者さんの「描絵(かきえ)を消したい」という要望から始まったこの検証。
最初は編集画面の話かと思いきや、スライドショー中の操作性の改善という深いテーマに行きつきました。
プレゼンターの皆さんの「あ、ボタン押せない!」という焦りが少しでも減れば幸いです。