Excel VBAの入門書である拙著『いちばんやさしいExcel VBAの教本』では、Applicationオブジェクトについて、Lesson49「オブジェクトとオブジェクトに対する指示の概要を知りましょう」やLesson 51「オブジェクトの階層関係を理解しましょう」で、少しだけ触れています。
アプリケーションソフトExcelそのものを表すApplicationオブジェクトには、非常にたくさんのプロパティ・メソッドが用意されており、その一つVisibleプロパティは、Excel VBA学習の初期段階で確認しておくほうがイイと考えています。
Application.Visibleとは
Excel VBAのApplication.Visibleプロパティは、Excelそのものの表示状態を、取得・設定するプロパティです。拙著のLesson 52でお伝えしている2種類のプロパティのうち、単なるデータを取得するためのプロパティです。
Visibleプロパティに論理値Falseを設定するとExcelが非表示になり、Trueを設定すれば表示されます。
Excel VBAを利用した業務ツールを誰かに使ってもらう際、その利用者にはExcelが見えている必要がないような場合に、Application.VisibleプロパティにFalseを設定して非表示状態のまま処理を進めるといった使い方をします。
非表示でもVBAからExcelを操作できる様子を確認するサンプル
ぜひ、以下のSubプロシージャをステップ実行してみてください。
Application.Visible = False
Range("A1").Value = "非表示中に入力した文字列"
Application.Visible = True
End Sub
最初の、
Application.Visible = False
が実行されると、Excelが非表示状態になります。
つづく、
Range("A1").Value = "非表示中に入力した文字列"
で、パソコンの画面にExcelは表示されていませんが、アクティブシートのA1セルに文字列が入力されます。
最後の、
Application.Visible = True
が実行されれば、非表示だったExcelが再表示されます。
そしてA1セルに「非表示中に入力した文字列」と入力されていることが確認できます。
大したことをしているわけではありませんが、Excel VBA入門者の中には新鮮に感じる方がいらっしゃると思います。画面に表示されていない状態でもExcelが起動していればVBAから操作できることを、知っておいてください。
上記のSubプロシージャを、ステップ実行する様子を動画にしていますので、よろしければご覧ください。→ YouTube「Excelが非表示でもVBAから操作できる」
- Newer:10から19を10、20から29を20のようにするには?
- Older:日付の年月日を分けるには
Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » Excelが非表示でもVBAから操作できるーApplication.Visible