Excel, VBA, Windows API

UserFormはタイトルバーをドラッグすることで移動することができますが、場合によってはタイトルバーだけでなくフォームそのものをドラッグして移動させたい場合があります。ここではWindows APIを使ってUserFormのクライア ...

2024年12月1日Excel, VBA, Windows API

VBAでプログレスバーを使用する際、多くの場合、ループ回数や工程が決まっている処理に対して利用されるため、進捗状況をパーセンテージとして数値で表すことが可能です。しかし、場合によっては処理の進捗を数値化できないケースもあり、その場合は ...

2024年12月7日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月30日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 ...