Home » エクセルマクロ・Excel VBAの使い方 » オブジェクト変数の中身を確認するには-ローカルウィンドウ

オブジェクト変数の中身を確認するには-ローカルウィンドウ

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「excel vba オブジェクト変数に何が入ってるか確認する方法」
という検索で、このサイト・インストラクターのネタ帳へのアクセスが、ありました。

VBAの、オブジェクト式・オブジェクト変数・オブジェクトモデルについて、まだ理解できていない方による検索でしょう。

このレベルの方であれば、VBE(Visual Basic Editor)のメニュー[表示]-[ローカルウィンドウ]から表示できる、

VBAのオブジェクト変数の中身を確認するには

ローカルウィンドウを使うしかないでしょう。

[スポンサードリンク]

ウォッチウィンドウとローカルウィンドウ

オブジェクトモデルの概要を理解できている方が、使いなれているオブジェクトに絡んだデバッグを行う場合は、ローカルウィンドウよりウォッチウィンドウが便利です。

ですが、階層関係がまだよく理解できていないようなオブジェクトについて手探りをしている段階ならば、ウォッチウィンドウよりローカルウィンドウのほうがおすすめです。

「excel vba オブジェクト変数に何が入ってるか確認する方法」
という検索をなさった方は、後者に該当するはずです。

変数の中身をローカルウィンドウで確認する

オブジェクト型変数の中身を確認する具体例をご紹介します。

まず、以下のマクロを実行してみてください。

Sub ローカルウィンドウで変数の中身を確認する()

 Dim bk As Workbook
 Dim bk_name As String

 Set bk = ActiveWorkbook
 bk_name = bk.Name

 Stop

End Sub

Stop文の行で中断しステップ実行モードになりますから、ローカルウィンドウを表示して変数の中身を見てみましょう。

VBAのオブジェクト変数の中身を確認するには

ローカルウィンドウを使ったことがないという方は、まず、わかりやすい(オブジェクト変数ではない)普通の変数bk_nameのほうから確認するのがおすすめです。

ローカルウィンドウの[値]列に表示されている「Book1」が、変数bk_nameに格納されているデータです。

VBAのオブジェクト変数の中身を確認するには

ちなみに[値]列の右側[型]列には変数bk_nameの型「String」も表示されています。

VBAのオブジェクト変数の中身を確認するには

ローカルウィンドウを使うと、普通の変数の中身を、このようにとても簡単に確認することができるのです。ウォッチウィンドウのように登録の必要はありません。イミディエイトウィンドウのように「Debug.Print」というコードを追加したりする必要もありません。

オブジェクト変数の中身をローカルウィンドウで確認する

次に、オブジェクト変数bkの中身を確認しましょう。

オブジェクト変数bkの前には[+]が表示されています。

VBAのオブジェクト変数の中身を確認するには

[+]をクリックすると、下図のような表示になるはずです。

VBAのオブジェクト変数の中身を確認するには

この状態で[値]列に表示されているのが、オブジェクト変数に格納されている中身に該当します。

VBAのオブジェクト変数の中身を確認するには

[値]列の左側[式]列に表示されているのが、オブジェクトに用意されているプロパティです。

VBAのオブジェクト変数の中身を確認するには

[値]列の右側[型]列に表示されているのが、オブジェクトのプロパティが返す、データの型やオブジェクトの種別です。

VBAのオブジェクト変数の中身を確認するには

先の普通の変数には「Book1」というデータしか持っていませんでしたが、オブジェクト変数では[値]列に表示されているようなたくさんの情報を持っているわけです。

まずは眺めることから

はじめてローカルウィンドウでオブジェクト変数の中身を確認したという方は、くれぐれも最初から、ローカルウィンドウに表示されている全てをいきなり理解しよう、などとは考えないでください。

上記の例なら、普通の変数bk_nameに入っていたブック名が、Nameプロパティに表示されていることを、まずは確認しましょう。

それから意味のわかりやすいAuthor・FullName・Pathあたりを確認するのがおすすめです。

ご自分で作っているマクロで使われているオブジェクト変数の中身を確認する場合、そのオブジェクト変数から何らかのプロパティを利用していることが多いはずです。そのプロパティをまずはローカルウィンドウで確認してみましょう。

そして少しずつ、オブジェクト変数が格納しているオブジェクトについて、イメージを広げていくことをおすすめします。

最終更新日時:2022-01-26 05:39

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » オブジェクト変数の中身を確認するには-ローカルウィンドウ

「エクセルマクロ・Excel VBAの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.