Windows 10 Pro_x64 + Excel2013_x86 VBA + DTPicker を試してみる
Windows 10 Pro_x64 + Excel2013_x86 VBA + DTPicker を試してみる
Excel 2013 VBA でカレンダーコントロールを使用するときに
Microsoft Date and Time picker control 6.0 (SP6) を使う
という例があるけれど、試そうと思っても見つからないのはなぜ?
と思ったんだけど、そういう事か!? と思ったのでメモ
参考にしたのは以下のサイト
Excel VBAでDatepicker(日付選択)コントロールを使う方法
Visual Basic 6.0 Service Pack 6 Runtime Set
よりDLした v6s6r135.zip v6s6r135.zip を適当なフォルダに解凍後、setup.exe
を実行してデフォルトのままインストールする。
※C:\Windows\System32 にインストールされる
※Excelが64Bit版の時は、どうなるのかな??
VBAの画面より
・ツール
->参照設定
->参照ボタンをクリック
->C:\Windows\System32\mscomct2.ocx を選択後OKをクリック
・挿入
->ユーザーフォームで フォームを追加する
・ツールボックスを表示
->ツールボックス上で右クリックして その他コントロール を選択する
->表示/選択された項目のみ のチェックを外す
->Microsoft Date and Time picker control 6.0 (SP6) をチェック後OKをクリックする
・ツールボックスより DTPicker を選択して フォームにドロップする
※最低限のサンプルになるのかな?
※まぁ色々な状況で使ってみないとな
' 'DTPicker、TextBox、CommandButtonを適当に UserForm に配置した状態 ' Option Explicit Private Sub UserForm_Initialize() ' ' 必要に応じてデフォルト表示を行う ' ・入力画面の初期設定とか ' ・DBから取込んだ日付とか ' ・あくまで例なので仕様に応じた箇所で ' TextBox1.Text = "2018/04/12" End Sub Private Sub CommandButton1_Click() ' ' TextBoxの日付をDTPickerに設定できるかの確認 ' DTPicker1.Value = CDate(Trim(TextBox1.Text)) End Sub Private Sub DTPicker1_CloseUp() ' ' ドロップダウン後、指定した日付が ' TextBoxに出力できるかを確認 ' TextBox1.Text = Format(DTPicker1.Value, "yyyy/mm/dd") End Sub