#目的
Excel 2016 VBA でカレンダーコントロールを使用するときに
Microsoft Date and Time picker control 6.0 (SP6) を使う
という例があるけれど、試そうと思っても見つからないのはなぜ?
と思ったんだけど、そういう事か!? と思ったのでメモ
##VB6SP6 Runtime のインストール
Visual Basic 6.0 Service Pack 6 Runtime Set
よりDLした v6s6r135.zip v6s6r135.zip を適当なフォルダに解凍後、setup.exe を実行してデフォルトのままインストールする。
※ C:\Windows\System32 にインストールされる
※Excelが64Bit版の時は、どうなるのかな??
##ocxを参照設定に追加する
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 = "2019/01/27"
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
##参考にしたのは以下のサイト
Excel VBAでDatepicker(日付選択)コントロールを使う方法
VBA Datepickerを使うための参照設定の方法
VB6(Visual Basic 6.0)ランタイムのインストール方法