ウィンドウ操作の超基本的なこと
わざわざまとめる程の内容でもないですが、一応…。
VBAでウィンドウ操作する際の超基本的なこと。
【ウィンドウとは】
ウィンドウとは「画面上の矩形の領域」。
・デスクトップそのもの
・タスクバー
・Excelなどのアプリケーション
・Excelの中のリボンやスクロースバー
・VBA{のユーザーフォーム
これらは全てウィンドウ。
それぞれの部品(それも1つのウィンドウ)が集まって階層構造を形成することで、普段見慣れた1つのアプリケーション画面を形成している。
ウィンドウはメッセージを受け取ったり、フォーカスを受け取ることが出来る。
【ウィンドウの情報】
ウィンドウが持つ情報のうち、5種類位を意識しておけばとりあえずOK。
①ウィンドウハンドル
全てのウィンドウに対して一意に割り当てられている識別子。
一意なのでほかのウィンドウと重複することはない。
→ウィンドウハンドルを指定することで、目的のウィンドウ(画面上の
矩形の領域)を特定して処理を加えることができる。
ウィンドウハンドルは、ウィンドウが作成されるタイミングでWindowsに
よって割り当てられる。
②ウィンドウクラス
ウィンドウの見た目や動作を定義するもの。
スクロースバーなら「〇〇Scrollbar」、フレームなら「〇〇Frame」、
テキスト入力ボックスなら「〇〇Edit」など、なんとなく直観で分かるも
のが多い。
Excelアプリケーションのクラス名はXLMAIN
Wordアプリケーションのクラス名はOpusApp
ペイントのクラス名はMSPaintApp
メモ帳アプリケーションのクラス名はNotepad
メモ帳のテキストボックス部分(実際に文字を打ち込むところ)のクラス
名はEdit
③ウィンドウスタイル
より詳細な見た目や動作を定義するもの。
たとえばScrollbarクラスの場合であれば、水平スクロールバーが
「SBS_HORZ」、垂直スクロールバーが「SBS_VERT」といった具合。
④ウィンドウ名(キャプション名)
ウィンドウに割り当てられた名前。
大体ウィンドウのタイトルバーに表示されている。
⑤位置情報・サイズ情報
X,Y,Zオーダーの位置情報やサイズ情報。
X,Yは画面上の(左上端からの)相対座標。
Zはウィンドウが重なったときのZ軸(前面・背面)情報。
サイズはウィンドウの高さ、幅。
ウィンドウ操作関連のWin API関数は、Microsoft Learn公式(やネット記事)が充実してるので、実環境を見ながら適宜調べていけば良いと思います。
この記事が気に入ったらサポートをしてみませんか?