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

SetWindowLongPtr関数

SetWindowLongPtr関数は指定したウィンドウに関する情報をセットするための関数です。
WinAPIにはSetWindowLong関数という同じ機能を持つ関数が存在しますが、Set ...

Excel, VBA, Windows API

VBAでUserFormを作成していると文字を回転させて表示させたいという場面に出くわすことがあります。しかしラベルをはじめコントロールは回転させることが出来ないので、VBAの標準機能だけではこれを実現することはできません。

2024年6月16日Excel, VBA, Windows API

GetParent関数

GetParent関数は指定したウィンドウの親ウィンドウのハンドルを取得するための関数です。
Windowsのウィンドウにはそれぞれを識別するためにウィンドウハンドルというものが設定されており、Windo ...

Excel, VBA, Windows API

WindowsAPIを使ってウィンドウの操作を行うとき、多くの場合はウィンドウハンドルを取得する必要があります。ウィンドウハンドルを取得するための関数は様々存在しますが、「指定のウィンドウ内にある特定の子ウィンドウのハンドルをパッと調 ...

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のいくつかの関数を呼び出すことでコードとしては簡単に設定ができます ...