Excel, VBA, Windows API

通常VBAのUserFormは、Excelなどのアプリケーションウィンドウを親として作成されます。そのため、親であるアプリケーションウィンドウを最小化すると、UserFormも同時に最小化されます。このUserFormの親であるウィン ...

Excel, VBA, Windows API

VBAでメッセージボックスの「OK」や「キャンセル」ボタンの文字列を変更したいと思ったことはあるでしょうか。UserFormを使えばボタンの文字列や位置を調整できるため、ほとんどの場合はそんな状況に出くわさないと思いますが、一応Win ...

C#, Excel, VBA, Windows API

漢字をひらがな/カタカナに変換したり、ひらがな/カタカナを漢字に変換したりしたい場合、Excel VBAであればApplicationオブジェクトのGetPhoneticメソッドを使うことで漢字からカタカナに変換することはできますがそ ...

Excel, VBA, Windows API

IsWindow関数

IsWindow関数は指定のウィンドウが存在するかを判定するための関数です。
Windowsのウィンドウには「ウィンドウハンドル」というウィンドウを識別するための特別な識別子(数値データ)がそれぞれに割り振 ...

2024年7月7日Excel, VBA, Windows API

AppendMenu関数

AppendMenu関数は指定のメニューの末尾に新規の項目を作成するための関数です。
ここでいうメニューとはメニューバー、ドロップダウンメニュー、サブメニュー、またはコンテキスト(ショートカット)メニュ ...

Excel, VBA, Windows API

VBAのUserForm上で右クリックした時にコンテキストメニューを出したいという場面に出くわすことがあります。WindowsAPIにはメニューバーのメニューをはじめとした、メニューを作成するための機能が存在します。このうちポップアッ ...

Excel, VBA, Windows API

DestroyMenu関数

DestroyMenu関数は指定したメニューを破棄し、メモリを解放するための関数です。
WindowsAPIではCreateMenu関数やCreatePopupMenu関数を呼び出すことで、メモリ上に ...

Excel, VBA, Windows API

CreatePopupMenu関数

CreatePopupMenu関数はドロップダウンメニュー、サブメニュー、コンテキストメニュー(ショートカットメニュー)を作成するための関数です。この関数で作成されるメニューは”空の状態& ...

Excel, VBA, Windows API

VBAマクロ開発時にユーザーに色を選択させたいという場面に出くわすことがあります。Excel VBAの場合、組み込みダイアログ「Application.Dialogs(xlDialogEditColor).Show()」を利用すること ...

2024年11月17日Excel, VBA, Windows API

VBAで日付を入力させる際にカレンダーから選択させたいという場面に出くわすことがあります。少し前ですとAccessのカレンダーコントロールを使うことで実現できましたが、現在のバージョンでは廃止されて使うことが出来なくなっており、VBA ...

2024年5月27日Excel, VBA, Windows API

VBAでUserFormを使った開発をしているときに「このイベントがあったらいいな」と思うことはしばしばあります。例えばマウスの中ボタンクリックのイベントやマウスホイールの回転イベント、ファイルのドラッグ&ドロップのイベントなど様々で ...

2024年4月9日Excel, VBA, Windows API

VBAのUserFormにファイルを入力してもらう際にファイル選択ダイアログを使って入力させる手法は一般ですが、場合によってはUserFormへのドラッグ&ドロップでファイルを入力させたいということがしばしばあります。このときUser ...

Excel, VBA, Windows API

CloseWindow関数

CloseWindow関数は指定したウィンドウを最小化するための関数です。

関数名にCloseと付いているためウィンドウを”閉じる”関数のようにも見えますが、ウィンドウ自体 ...

Excel, VBA, Windows API

GetCursorPos関数

GetCursorPos関数は現在のマウスカーソル位置の座標を取得するための関数です。

Windowsの座標にはクライアント領域座標とスクリーン座標という2つの座標系が存在します。
クラ ...