Excel VBAでオブジェクト指向プログラミング(事前準備編)
■Excel VBAは最強の開発ツール
Excel VBAは手軽に利用できて、あらゆるExcel操作をプログラムから実行できるうえ、オブジェクト指向プログラミングにも対応しているので、他のオブジェクトを呼び出すことにより、さまざまな処理を実現することができます。
このブログでは、私が個人的に作成したExcelのツールを順次紹介して行きますが、初回は事前準備に関する覚書です。
■オブジェクトの定義とインスタンスの生成
Excel VBAでオブジェクトを利用する手順は、ざっくり言うと以下の3ステップです。
①対象となるオブジェクトが含まれているライブラリを参照設定
②プログラムの宣言部でオブジェクト変数を定義
③プログラムの処理部でインスタンスを生成
FileSystemObject(FSO)を例にして、順に説明して行きます。
①ライブラリの参照設定
Visual Basic Editor(VBE)を起動し、ファイルメニューから[ツール]-[参照設定]を選択し、参照設定ダイアログで
Microsoft Scripting Runtimeのチェックボックスにチェックを入れ、[OK]ボタンを押下。
②オブジェクト変数の定義
プログラムの宣言部でオブジェクト変数を定義。
(データ型をFileSystemObjectとすることもできますが、汎用的なObjectで充分です)
- Dim fso As Object
③インスタンスの生成
プログラムの処理部でインスタンスを生成(オブジェクトを使い終ったら、忘れずに解放)。
- Set fso = New FileSystemObject
- 'ここにオブジェクトを使用した処理を記述
- Set fso = Nothing
(参考)「Set fso = New FileSystemObject」の部分を「Set fso = CreateObject(“Scripting.FileSystemObject")」と記述すれば、ステップ①(ライブラリの参照設定)は不要です。
オブジェクトブラウザによる調査方法
オブジェクトの使用方法を調べる場合、マニュアルやインターネット上の解説を参照するのが普通だと思いますが、①オブジェクトブラウザで概要を把握したうえ、②実際に動かしながら確認する、という方法が一番確実(マニュアル上の記載だけでは、具体的な追加方や実際の動作が今一つよくわからないので、試した方が早い)です。
①オブジェクトブラウザによる概要把握
Visual Basic Editor(VBE)を起動し、ファイルメニューから[表示]-[オブジェクト ブラウザ]を選択し、ライブラリで「Scripting」、クラスで「FileSystemObject」を選択。
右側の「’FileSystemObject’ のメンバ」の箇所にアイコンとメンバ名が表示されていますが、がクラス、がメソッド、がプロパティです。
例として「GetFolder」メソッドを選択すると、下部にGetFolderメソッドの引数と属性が表示されます。
この例では「Function GetFolder(FolderPath As String) As Folder」となっていますので、「文字列型のフォルダ名を引数としてメソッドを実行すると、Folderというオブジェクト型で結果が返って来る」ことがわかります。
引続き左側のクラスで「Folder」を選択すると、右側に「’Folder’ のメンバ」として、Folderオブジェクトのメソッドやプロパティが表示されます。
②プログラムを動かしながら動作を確認
FileSystemObjectを生成し、GetFolderメソッドを実行した次のステップにブレークポイントを設定し、プログラムを実行。
- Dim fso As Object
- Dim folder As Object
- Private Sub Sample1()
- Set fso = New FileSystemObject
- Set folder = fso.GetFolder(“c:\work")
- Set folder = Nothing 'ここにブレークポイントを設定
- Set fso = Nothing
- End Sub
プログラムが停止したところで、[表示]-[イミディエイト ウィンドウ]を開けば、メソッドを実行したり、プロパティを参照したりして、オブジェクトの動作を確認することができます。
下図の例は、FolderオブジェクトのDriveプロパティ、Nameプロパティ、Pathプロパティの内容を表示してみたものです。
出版社:インプレス
発売日:2022/3/23
単行本(ソフトカバー):A5判/912ページ
出版社:技術評論社
発売日:2021/1/9
単行本(ソフトカバー):A5判/800ページ
出版社:技術評論社
発売日:2019/11/25
単行本(ソフトカバー):B5変形判/576ページ
ディスカッション
コメント一覧
まだ、コメントがありません