【VBA×WindowsAPI】指定のウィンドウ(UserForm)に図形を描画する
VBAのUserFormに何かしらの図形を描画したいという場合、VBAの標準機能だけでは実現することが難しいです。Frameを細くして直線に見立てたり、Imageとして用意しておいた図形を挿入したりすることはできますが、どちらもあまり ...
【VBA×WindowsAPI】FlashWindowEx関数の使い方
FlashWindowEx関数は指定したウィンドウをフラッシュ(点滅)させるための関数です。
ここでいうフラッシュとは、対象のウィンドウに対してアクティブ状態の描画と非アクティブの ...
【VBA×WindowsAPI】GetWindowLongPtr関数の使い方
GetWindowLongPtr関数は指定したウィンドウに関する情報を取得するための関数です。
WinAPIにはGetWindowLong関数という同じ機能を持つ関数が存在しますが、GetW ...
【VBA×WindowsAPI】指定のウィンドウ(UserForm)を常に最前面に表示する
VBAでマクロ開発をしているとUserFormが他のウィンドウの後ろに隠れてしまうことがままあります。ウィンドウは奥行きの順番である「Zオーダー」という情報を持っていまが、このZオーダーを操作することでUserForm(ウィンドウ)の ...
【VBA×WindowsAPI】クリップボード内にテキストデータ(文字列)をセットする
VBAでクリップボードの値を取得したりセットしたりするには「DataObject」オブジェクトを使うことが一般的ですが、ここではWindows APIの関数を使ってVBAでクリップボード内に任意の文字列をセットする方法を解説していきま ...
【VBA×WindowsAPI】クリップボード内のテキストデータ(文字列)を取得する
VBAでクリップボードの値を取得したりセットしたりするには「DataObject」オブジェクトを使うことが一般的ですが、ここではWindows APIの関数を使ってクリップボード内の文字列を取得する方法を解説していきます。
【VBA×WindowsAPI】GetClipboardData関数の使い方
GetClipboardData関数は指定した形式でクリップボードからデータを取得する関数です。
たとえばクリップボード内にテキストデータが格納されている場合に、この関数でテキストデータ形式 ...
【VBA×WindowsAPI】SetForegroundWindow関数の使い方
SetForegroundWindow関数は指定のウィンドウを最前面に表示するための関数です。
ウィンドウの指定にはウィンドウハンドルを使用します。
ウィンドウハンドルとは ...
【VBA×WindowsAPI】ClientToScreen関数の使い方
ClientToScreen関数はウィンドウのクライアント領域基準の座標をスクリーン基準の座標に変換するための関数です。クライアント領域とはタイトルバーや境界線などを除いたウィンドウのメイン描画部分のこ ...
【VBA×WindowsAPI】ウィンドウ(UserForm)を透明/半透明にする
VBAでUserFormをはじめとした指定のウィンドウを透明化したいと思うことはごく稀にあります。
VBAだけの機能では実現できませんが、Windows APIのいくつかの関数を呼び出すことでコードとしては簡単に設定ができます ...
【VBA×WindowsAPI】FindWindowEx関数の使い方
FindWindowEx関数は指定したウィンドウ内にある子ウィンドウへのハンドルを、クラス名やウィンドウ名から取得するための関数です。同じくWindowsAPIには名前の似たFindWindow関数という関 ...
【VBA×WindowsAPI】クリップボードにビットマップ画像をセットする
VBAを使っていてクリップボードを操作したいという場面に出くわすことがしばしばあります。
クリップボードを操作する方法はいくつか存在しますが、ここではWindows APIを使ってクリップボードに指定の画像ファイルをセットする ...
【VBA×WindowsAPI】EmptyClipboard関数の使い方
EmptyClipboard関数はクリップボード内のデータを空にする関数です。
主にSetClipboardData関数のようなクリップボード内にデータを設定する関数と併用し、データのセット直前 ...
【VBA×WindowsAPI】CloseClipboard関数の使い方
CloseClipboard関数はOpenClipboad関数により開かれたクリップボードを閉じる関数です。
OpenClipboard関数を実行してクリップボードが開かれるとき、クリップボ ...