ウィンドウ操作の超基本的なこと

わざわざまとめる程の内容でもないですが、一応…。
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公式(やネット記事)が充実してるので、実環境を見ながら適宜調べていけば良いと思います。

この記事が気に入ったらサポートをしてみませんか?