【VBA×WindowsAPI】UserFormをフォーム内(クライアント領域)ドラッグで移動させる
UserFormはタイトルバーをドラッグすることで移動することができますが、場合によってはタイトルバーだけでなくフォームそのものをドラッグして移動させたい場合があります。ここではWindows APIを使ってUserFormのクライア ...
【VBA×WindowsAPI】不確定なプログレスバーを作成する
VBAでプログレスバーを使用する際、多くの場合、ループ回数や工程が決まっている処理に対して利用されるため、進捗状況をパーセンテージとして数値で表すことが可能です。しかし、場合によっては処理の進捗を数値化できないケースもあり、その場合は ...
【VBA×WindowsAPI】ウィンドウ(UserForm)のオーナーウィンドウを変更する
通常VBAのUserFormは、Excelなどのアプリケーションウィンドウを親として作成されます。そのため、親であるアプリケーションウィンドウを最小化すると、UserFormも同時に最小化されます。このUserFormの親であるウィン ...
【VBA×WindowsAPI】メッセージボックスのボタンの文字列を変更する
VBAでメッセージボックスの「OK」や「キャンセル」ボタンの文字列を変更したいと思ったことはあるでしょうか。UserFormを使えばボタンの文字列や位置を調整できるため、ほとんどの場合はそんな状況に出くわさないと思いますが、一応Win ...
【VBA×C#】VBAで漢字をひらがな/ひらがなを漢字に変換する
漢字をひらがな/カタカナに変換したり、ひらがな/カタカナを漢字に変換したりしたい場合、Excel VBAであればApplicationオブジェクトのGetPhoneticメソッドを使うことで漢字からカタカナに変換することはできますがそ ...
【VBA×WindowsAPI】IsWindow関数の使い方
IsWindow関数は指定のウィンドウが存在するかを判定するための関数です。
Windowsのウィンドウには「ウィンドウハンドル」というウィンドウを識別するための特別な識別子(数値データ)がそれぞれに割り振 ...
【VBA×WindowsAPI】AppendMenu関数の使い方
AppendMenu関数は指定のメニューの末尾に新規の項目を作成するための関数です。
ここでいうメニューとはメニューバー、ドロップダウンメニュー、サブメニュー、またはコンテキスト(ショートカット)メニュ ...
【VBA×WindowsAPI】UserFormを右クリックした時にコンテキストメニューを表示させる
VBAのUserForm上で右クリックした時にコンテキストメニューを出したいという場面に出くわすことがあります。WindowsAPIにはメニューバーのメニューをはじめとした、メニューを作成するための機能が存在します。このうちポップアッ ...
【VBA×WindowsAPI】DestroyMenu関数の使い方
DestroyMenu関数は指定したメニューを破棄し、メモリを解放するための関数です。
WindowsAPIではCreateMenu関数やCreatePopupMenu関数を呼び出すことで、メモリ上に ...
【VBA×WindowsAPI】CreatePopupMenu関数の使い方
CreatePopupMenu関数はドロップダウンメニュー、サブメニュー、コンテキストメニュー(ショートカットメニュー)を作成するための関数です。この関数で作成されるメニューは”空の状態& ...
【VBA×WindowsAPI】[色の設定]ダイアログを表示する
VBAマクロ開発時にユーザーに色を選択させたいという場面に出くわすことがあります。Excel VBAの場合、組み込みダイアログ「Application.Dialogs(xlDialogEditColor).Show()」を利用すること ...
【VBA×WindowsAPI】UserFormに日付選択コントロール(カレンダー)を作成する
VBAで日付を入力させる際にカレンダーから選択させたいという場面に出くわすことがあります。少し前ですとAccessのカレンダーコントロールを使うことで実現できましたが、現在のバージョンでは廃止されて使うことが出来なくなっており、VBA ...
【VBA×WindowsAPI】UserFormのサブクラス化とウィンドウプロシージャ設定
VBAでUserFormを使った開発をしているときに「このイベントがあったらいいな」と思うことはしばしばあります。例えばマウスの中ボタンクリックのイベントやマウスホイールの回転イベント、ファイルのドラッグ&ドロップのイベントなど様々で ...
【VBA×WindowsAPI】UserFormへのドラッグ&ドロップでファイルパスを取得
VBAのUserFormにファイルを入力してもらう際にファイル選択ダイアログを使って入力させる手法は一般ですが、場合によってはUserFormへのドラッグ&ドロップでファイルを入力させたいということがしばしばあります。このときUser ...