当サイトの記事にはプロモーションが含まれています。

PowerPoint VBAで画面更新を停止して処理速度を向上させる方法

パソコンパソコン・スマホ教室
スポンサーリンク

PowerPointでVBAマクロを使って大量のスライドを作成したり、グラフを貼り付けたりするとき、画面が頻繁に更新されて動作が遅くなることがあります。特に、処理中に画面がちらついたり、途中経過が表示されることで、作業が煩わしく感じられることも。そんなときに役立つのが、画面更新を停止する方法です。

ただし、Excelのように簡単に「Application.ScreenUpdating = False」と書くだけでは、PowerPointでは効果がありません。そこで、PowerPointで画面更新を停止するための方法と、その注意点について、初心者にもわかりやすく解説します。

スポンサーリンク

PowerPointで画面更新を停止する方法

PowerPointのイメージ

PowerPointのイメージ

PowerPointでは、標準のVBAでは画面更新を停止するプロパティが用意されていません。しかし、WindowsのAPIを利用することで、画面更新を停止することが可能です。

以下のコードをVBAに追加することで、画面更新を停止することができます。

vba
Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Sub DisableScreenUpdating()
Dim hwnd As Long
hwnd = FindWindow("PPTFrameClass", vbNullString)
LockWindowUpdate hwnd
End Sub

Sub EnableScreenUpdating()
LockWindowUpdate 0
End Sub

このコードでは、`LockWindowUpdate`関数を使って、PowerPointのウィンドウの更新を停止しています。処理が終わったら、`EnableScreenUpdating`を呼び出して、画面更新を再開します。

注意点と補足

処理終了後の画面更新再開: 画面更新を停止したままにしておくと、PowerPointの操作ができなくなります。必ず処理終了後に画面更新を再開するようにしましょう。

エラー処理の追加: マクロ実行中にエラーが発生すると、画面更新が停止したままになる可能性があります。エラー処理を追加して、確実に画面更新を再開するようにしましょう。

進捗状況の表示: 処理中に進捗状況を確認できるように、ステータスバーにメッセージを表示することをおすすめします。これにより、処理が正常に進んでいるかを確認できます。

vba
Sub ProcessWithProgress()
Dim i As Long
Application.ScreenUpdating = False
For i = 1 To 100
' 処理内容
If i Mod 10 = 0 Then
Application.StatusBar = "処理中: " & i & " / 100"
End If
Next i
Application.StatusBar = False
Application.ScreenUpdating = True
End Sub

このように、進捗状況をステータスバーに表示することで、処理の進行状況を把握できます。

よくある質問や疑問

Q: PowerPointで画面更新を停止する方法はありますか?

はい、WindowsのAPIを利用することで、PowerPointでも画面更新を停止することができます。上記のコードを参考にしてください。

Q: 画面更新を停止すると、処理速度はどのくらい向上しますか?

画面更新を停止することで、処理速度が大幅に向上することがあります。特に、大量のスライドを作成する場合や、グラフを貼り付ける場合に効果的です。

Q: 処理中に進捗状況を確認する方法はありますか?

はい、ステータスバーにメッセージを表示することで、処理の進行状況を確認できます。上記のコードを参考にしてください。

まとめ

PowerPointで大量のスライドを作成したり、グラフを貼り付けたりする際に、画面更新を停止することで、処理速度を向上させることができます。WindowsのAPIを利用することで、PowerPointでも画面更新を停止することが可能です。処理中に進捗状況を確認できるように、ステータスバーにメッセージを表示することをおすすめします。

他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました