Excel VBAで外部のExcelファイルを開く処理を実装すると、画面いっぱいに対象ファイルが表示されて邪魔になることがあります。
今回は、ファイルをバックグラウンドで開いて画面更新を抑制する方法を学びましたので、その手順とコードをご紹介いたします。
実現したいこと
- 外部のExcelファイルをユーザーに見せずに開きたい
- 自動処理用に一時的に開くファイルなどを、バックグラウンドで静かに処理したい
方法:ScreenUpdating
プロパティで画面描画を抑制する
VBAには Application.ScreenUpdating
というプロパティがあり、これを False
に設定することで、処理中の画面のちらつきや表示更新を抑えることができます。
この機能を使うことで、外部ファイルをユーザーに表示させることなく開くことが可能になります。
使用したVBAコード
以下が、外部のExcelファイルをバックグラウンドで開くための基本コードです。
Sub OpenWorkbookSilently()
Dim ExternalWorkbook As Workbook
' 画面の更新をオフにする
Application.ScreenUpdating = False
' 外部のExcelファイルを開く
Set ExternalWorkbook = Workbooks.Open("C:\Users\s_mori\OneDrive - MACCS.cloud\デスクトップ\ショートカット\01_SKY関係\SKY_ED.xlsx")
' 必要な処理(読み取り、コピーなど)をここで行う
' 画面の更新をオンに戻す
Application.ScreenUpdating = True
End Sub
コードのポイント
Application.ScreenUpdating = False
ファイルを開く前に画面更新を停止します。これにより、Excel画面にファイルが表示されることはありません。Workbooks.Open(...)
外部のExcelファイルを通常通り開きます。VBA側では参照できるようになります。Application.ScreenUpdating = True
処理が終わった後に画面更新を再開することで、元の状態に戻します。
注意点
ScreenUpdating
は表示制御であり、完全に非表示で開いているわけではありません。一部環境ではウィンドウの切り替えが見えることもあります。- 処理中にエラーが発生した場合、
ScreenUpdating = True
が呼ばれず、画面が更新されなくなることがあります。
その場合はOn Error
処理を加えておくと安心です。
まとめ
外部のExcelファイルをバックグラウンドで開くには、Application.ScreenUpdating
を使うのが効果的です。
- 画面更新を停止してからファイルを開く
- 処理後に画面更新を再開
- VBA処理をユーザーに意識させずに実行できる
定型処理やバッチ処理など、自動化用途において非常に便利なテクニックです。
本記事が少しでも参考になれば幸いです。最後までお読みいただき、ありがとうございました。
【AI×就労支援】Neuro Dive(ニューロダイブ)で先端ITを学び、スペシャリストとしての就職を目指しませんか?
最後に宣伝をさせてください。
AIやデータサイエンス、RPAといった分野に興味はあるけれど、
「どうやって学べばよいか分からない」「就職につなげる方法が見つからない」とお悩みの方へ。
Neuro Dive(ニューロダイブ)は、
パーソルダイバース株式会社が運営する日本初の「先端IT特化型」就労移行支援サービスです。
障害のある方を対象に、AI・機械学習・データサイエンスなど、今まさに社会で求められている高度なスキルを身につけ、IT系企業での就職を現実のものとするサポートを行っています。
Neuro Diveが選ばれる理由
- 就職率80%以上、職場定着率95%以上という実績
- eラーニングによる柔軟な学習スタイル
- 実践型カリキュラムで、**「ビジネスで通用するスキル」**が身につく
- プログラミング未経験から就職を果たした事例も多数
こんな方におすすめです
- AIやIT技術に興味があり、専門スキルを身につけたい方
- 独学では限界を感じている方
- 自分の得意分野(集中力・観察力・論理的思考力)を仕事に活かしたい方
- 障害を持ちながらも、IT分野でスペシャリストを目指したいと考えている方
Neuro Diveは、18歳から64歳までの一般就労を目指す障害のある方を対象としています。
プログラミングやAIは未経験という方でも、「やってみたい」という気持ちがあれば大丈夫です。
未来を変える一歩は、ここから始まります。
先端ITを学びながら、自分の力を社会で活かすための一歩を踏み出してみませんか?
▶ 詳しくはこちらから AIやデータサイエンスが学べる就労移行支援【Neuro Dive】