2023年12月3日Excel, VBA, Windows API

VBAのUserFormに何かしらの図形を描画したいという場合、VBAの標準機能だけでは実現することが難しいです。Frameを細くして直線に見立てたり、Imageとして用意しておいた図形を挿入したりすることはできますが、どちらもあまり ...

Excel, VBA, Windows API

FlashWindowEx関数

FlashWindowEx関数は指定したウィンドウをフラッシュ(点滅)させるための関数です。

 
ここでいうフラッシュとは、対象のウィンドウに対してアクティブ状態の描画と非アクティブの ...

2023年12月10日Excel, VBA, Windows API

GetWindowLongPtr関数

GetWindowLongPtr関数は指定したウィンドウに関する情報を取得するための関数です。
WinAPIにはGetWindowLong関数という同じ機能を持つ関数が存在しますが、GetW ...

Excel, VBA, Windows API

VBAでマクロ開発をしているとUserFormが他のウィンドウの後ろに隠れてしまうことがままあります。ウィンドウは奥行きの順番である「Zオーダー」という情報を持っていまが、このZオーダーを操作することでUserForm(ウィンドウ)の ...

Excel, VBA, Windows API

VBAでクリップボードの値を取得したりセットしたりするには「DataObject」オブジェクトを使うことが一般的ですが、ここではWindows APIの関数を使ってVBAでクリップボード内に任意の文字列をセットする方法を解説していきま ...

2023年8月15日Excel, VBA, Windows API

VBAでクリップボードの値を取得したりセットしたりするには「DataObject」オブジェクトを使うことが一般的ですが、ここではWindows APIの関数を使ってクリップボード内の文字列を取得する方法を解説していきます。

Excel, VBA, Windows API

GetClipboardData関数

GetClipboardData関数は指定した形式でクリップボードからデータを取得する関数です。
たとえばクリップボード内にテキストデータが格納されている場合に、この関数でテキストデータ形式 ...

Excel, VBA, Windows API

SetForegroundWindow関数

SetForegroundWindow関数は指定のウィンドウを最前面に表示するための関数です。
ウィンドウの指定にはウィンドウハンドルを使用します。

ウィンドウハンドルとは ...

2024年3月2日Excel, VBA, Windows API

ClientToScreen関数

ClientToScreen関数はウィンドウのクライアント領域基準の座標をスクリーン基準の座標に変換するための関数です。クライアント領域とはタイトルバーや境界線などを除いたウィンドウのメイン描画部分のこ ...

2024年3月30日Excel, VBA, Windows API

VBAでUserFormをはじめとした指定のウィンドウを透明化したいと思うことはごく稀にあります。
VBAだけの機能では実現できませんが、Windows APIのいくつかの関数を呼び出すことでコードとしては簡単に設定ができます ...

Excel, VBA, Windows API

FindWindowEx関数

FindWindowEx関数は指定したウィンドウ内にある子ウィンドウへのハンドルを、クラス名やウィンドウ名から取得するための関数です。同じくWindowsAPIには名前の似たFindWindow関数という関 ...

Excel, VBA, Windows API

VBAを使っていてクリップボードを操作したいという場面に出くわすことがしばしばあります。
クリップボードを操作する方法はいくつか存在しますが、ここではWindows APIを使ってクリップボードに指定の画像ファイルをセットする ...

Excel, VBA, Windows API

EmptyClipboard関数

EmptyClipboard関数はクリップボード内のデータを空にする関数です。
主にSetClipboardData関数のようなクリップボード内にデータを設定する関数と併用し、データのセット直前 ...

2023年7月23日Excel, VBA, Windows API

CloseClipboard関数

CloseClipboard関数はOpenClipboad関数により開かれたクリップボードを閉じる関数です。

OpenClipboard関数を実行してクリップボードが開かれるとき、クリップボ ...