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

2023年12月10日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関数を実行してクリップボードが開かれるとき、クリップボ ...

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

OpenClipboard関数

OpenClipboard関数はクリップボードを開く関数です。
クリップボードを開くことで、プログラム(VBA)がクリップボード内のデータにアクセスすることができるようになります。これによりクリッ ...

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

GetActiveWindow関数

GetActiveWindow関数は現在アクティブなウィンドウへのハンドルを取得するための関数です。

ウィンドウハンドルとは、ウィンドウを識別するための特別な識別子です。
ウィンド ...

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

SetWindowText関数

SetWindowText関数は指定したウィンドウのタイトルバーの文字列(キャプション)を変更するための関数です。VBAでは「UserForm.Caption=”新しいウィンドウ名” ...