[三流君(ken3.org)]/ [VBA(TOP)]/ [F1でヘルプを見る]/ [Debug.Printを使い値の確認]/ [ウォッチ式とSTOP]/ [デバッグ方法ほか]

VBA ウォッチ式 ウォッチウインドウ(Watch Window) と STOP文

デバッグ時によく使う、ウォッチ式 ウォッチウインドウ を 少々さわってみたいと思います。
STOP文やブレークポイントを設定して 組み合わせて使うと便利です
なんて偉そうに言ってますが、単なる値の表示だったり、その場でオブジェクトの中身を確認したりするだけです。。
私は、使っているような、使っていないような・・・
ウォッチ式 ウォッチウインドウ(Watch Window) と STOP文 使い慣れると便利ですよ。

STOP と ウォッチ式 を 使ってみる

STOP と 書くと、プログラムが止まり、デバッグできます。
なんて書いても、???ですよね。
Sub test0416()

    Dim n As Integer
    
    For n = 1 To 10
        Debug.Print n  'イミディエイト ウインドウに値を表示
        If n = 7 Then Stop  'STOPで止める
    Next n

End Sub
↑まぁ、こんな感じ↓で、n=7の時、STOPで、デバック時に止めることができます。

まぁ、わざわざ、
If n = 7 Then Stop 'STOPで止める
なんてことしないで、
ウォッチ式に n=7 True を追加して、止める事もできます。
デバッグ--ウォッチ式の追加 で n=7を追加します(右ボタン、ウォッチ式の追加でもOKです。)

操作の動画イメージ:[04/16 VBA ウォッチ式とSTOPを使ってみた]

[#IE-WATCH]

STOP で 止め ウォッチ式を追加し オブジェクトの中身を見る

次は、STOPで止めてウォッチ式を追加し オブジェクトの中身を見る そんな方法です。

操作イメージがわかりにくいので、実際の操作の動画を載せます

操作の動画イメージ:[VBA IE デバッグ STOP で 止め オブジェクトを探る]

操作の動画イメージ:[STOPやデバッグで止め イミディエイトやウォッチ式でオブジェクトを確認]



デバッグで止めて、現物の変数objIEを見る

私の唯一の人気 IE操作の記事
[三流君VBAでIE操作 InternetExplorer.Applicationを操作する]
から、ブレークポイント(やStop)を設定して、変数をウォッチする、そんな方法を載せます。
※処理の途中で止めて イミディエイト ウインドウ で変数の中身を確認する そんなイメージです。

資料探しに飽きたら現物を動かしながら見る、そんな方法もあります。デバックで止める、ウォッチで中身を見るがポイントです。※一度くらいは資料だけじゃなくて現物をさわってみては?

あんまり好きじゃないけど、
ブレークポイントを設定し、デバックで止めて、変数の中身・オブジェクトを見てみます。
~~~~~~~~~~~~~~~~

Sub xxxxx()
    Dim objIE    As Object  'IEオブジェクト参照用
    'インターネットエクスプローラーのオブジェクトを作る
    Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = True '見えるようにする(お約束)
    '文字列で指定したURLに飛ぶ
    objIE.Navigate "http://xxxx.xxxx.xxx/yyy.html"
    'デバックで止める
    MsgBox "OK?"
End Sub
右クリック、設定・解除 -- ブレークポイントを選択し、設定します。
←参考画面
※左側の余白を押してONとOFFを切り替えてもOKです。

次にobjIE変数のオブジェクトの中身を見たいのでウォッチ式を追加します。
追加方法は、どこでもいいので、ソースの画面で
objIEをドラックして反転表示の選択後、右クリックしてウォッチ式の追加を選択します。
←参考画面

実行して、オブジェクトの中身を探る
ブレークポイントの設定
変数objIEをウォッチする準備が整ったので、
実行して、変数の中身を探ってみます。

実行すると、ブレークポイントの場所で止まります。
当たり前だろ、そのために設定したんでしょアナタが。
そうでしたね。

ブレークポイントで止まってからは、
飲み会に誘った女の子みたいに逃げないので
落ち着いて中身をチェックしましょう。
(飲み会で女性陣に逃げられてるみたいだなぁ、この書き方だと(笑))

ウォッチウインドウの変数名の横+をクリックして中身を探って行きます。
←参考画面
それにしても、階層が深いです。
テーブル系のオブジェクトを探すが、なかなか見つからない(笑)
(女の子じゃなくって、IEの心の中は複雑なのね、、、)

中身を確認するために、となりのイミディエイトウインドウで、
←参考画面
? objIE.document.body.innerText
とか、中身を聞いてみた(アクセスすることもできます)



おわりの挨拶

今回は、
・STOPで止める
・ウォッチ式の追加
でした。

デバック時の操作で、拾い読みして、
1つでも何かの参考となれば幸いです。

Excel/Access大好き、三流プログラマーKen3でした。

質問や要望、クレームを送る(三流君に連絡する 連絡方法)

質問や要望など連絡方法でお互い確認が取りやすく、便利なのが掲示板なのですが、私の対応のまずさから不定期で荒れてしまい、掲示板は現在封鎖中です。(反省しなきゃ)
感想や質問・要望・苦情など 三流君へメッセージを送る。
時間的余裕のある要望・質問・苦情の場合は、下記のフォームからメッセージを送ることができます。
あなたのお名前(ニックネーム):さん
返信は?: 不用(HP更新を待つ) , E-mail→ アドレス:に返事をもらいたい

(感想や質問・要望・苦情はHPで記事に載せることがあります。)

急ぎで連絡がほしい、そんな時は:[三流君連絡先]に連絡してください。


分類別に記事を紹介

分類別といっても、あまり分類別にまとまっていないのですが、、、↓

よく使う操作方法

F1でヘルプを見たり、デバック時にDebug.Print使ったり、イミディエイト ウインドウで簡単な確認したり。
なれると当たり前に操作している方法が↓かなぁ。
[プロパティ、メソッドを探る方法]・・・基本のF1を押してヘルプを見る方法など
[実行時エラー、あわてないでデバックを押す]・・・デバッグの流れを簡単に(ハマった時はツライけど)
[イミディエイト ウインドウ と Debug.Print]・・・プログラム作成時に便利なイミディエイト ウインドウ
[VBA ウォッチ式とSTOP]・・・STOPで止め、ウォッチ式でオブジェクトの中身を確認する方法など
[参照設定のお話]・・・設定すると便利な(設定しないと使えない)、参照設定のお話
[サンプル 実行方法]・・・Alt+F11 や ツール--マクロ から VBAの編集画面を開き F5で実行?

仕様書のお話(XXX設計書)

イロイロな仕様書・設計書を各工程で使っていくのですが、その一部を書きました。
[基本設計書/仕様書のお話]・・・仕様書・設計書を書いてますか?簡単な流れを書きました。
[テスト仕様書のお話]・・・テストデータ XXXXを入力したら、YYYYになる ほか
[バグの連絡票とテストケース]・・・バグ・不具合の連絡を受けたら 原因を書き 処置する。
[関数仕様書のお話]・・・仕様書は頭の中にありますでいいの?かよ?
[作業の流れ 入力・処理・出力ほか]・・・フォルダー選択を例に仕様書と流れを解説

プログラムのお話

[作成時 Ctrl+C Ctrl+Vの前によく考えよう]・・・コピープログラムの落とし穴?
[関数に汎用性を持たせる、共通に使える関数作り]・・・共通に使える関数(財産)を作りましょう

Access関係:アクセス側からのアプローチ

[AccessのUserForm/サブフォームを操作]・・・アクセスでフォームを使ったサンプルです
[Accessのレポートを操作]・・・レポートを操作してみました
[Access クエリー関係やその他関数]・・・あまりまとまってませんが、スポット的な単体関数の解説です

Excel関係:エクセル側からのアプローチ

[Excel UserForm(ユーザーフォーム)を操作する]・・・エクセルでユーザーフォームを作成して入力などを行ってます
[ExcelからAccessを操作する]・・・ExcelからAccessのマクロを起動してみました、
[Excel関係 関数、その他]・・・その他Excel関係です

その他:VBAの共通関数やテキストファイルの操作など

[VBAでテキストファイル(*.txt,*.html,*.csv)の操作]・・・テキストファイルを使ったサンプルです
[VBA 標準関数関係とその他解説]・・・その他、グダグタ解説してます

blog:あまり更新していない作業日記 → [三流君の作業日記] と [通販商品の足跡] も よろしくお願いします。



[三流君(Ken3.org)] / [VBAで楽しく] / [VBA バックナンバー]