2015-08-04

PowerShellでユーザーフォームを作る - DatetimePickerコントロール編 -

 PowerShellでは、ユーザーの好みに合わせて、独自にフォームを作成することができます。

今回は「PowerShellでユーザーフォームを作る - DatetimePickerコントロール編 -」です。

前回ご紹介したNumericUpDownコントロールは「数値」を増減させるものでしたが、今回ご紹介するのは「日付/時間」を増減させるものです。


<今回の完成品>


この中の展開ボタンを押すと次のように表示されます。


カレンダーが表示され、任意の日付を選択できるようになります。

それでは、スクリプトを記述します。



---------ここから-------------------------------------------------------------------------------------
# ユーザーフォームを作る - DatetimePickerコントロール編 -

# アセンブリのロード
Add-Type -AssemblyName System.Windows.Forms

# フォーム全体の作成
$form = New-Object System.Windows.Forms.Form
$form.Size = "300,100"
$form.StartPosition = "CenterScreen"
$form.MaximizeBox = $false
$form.MinimizeBox = $false
$form.Text = "DateTimePickerコントロール"

# DatetimePickerコントロールの作成
$Date = New-Object System.Windows.Forms.DatetimePicker
$Date.location = "30,20"
$Date.Format = "Long"

# フォームにコントロールを追加
$form.Controls.Add($Date)

# フォームを表示
$form.ShowDialog()
---------ここまで-------------------------------------------------------------------------------------

上記内容をコピーし、PowerShell ISEに貼り付けて、実行してみてください。
完成品と同じものが表示されるはずです。

それでは解説をしていきます。
また過去の記事で解説した部分については割愛致します。

内容をご確認いただきたい場合は【ユーザーフォーム - 基礎編 -】をご覧ください。


*****解説*****************************************************************************

# DatetimePickerコントロールの作成
$Date = New-Object System.Windows.Forms.DatetimePicker
$Date.location = "30,20"
$Date.Format = "Long"

ここではWindowsフォームのDatetimePickerクラスをインスタンス化(実体化)し、変数Dateに格納しています。
この中のFormatプロパティは表示形式を指定するもので、Long、Short、Time、Customから選択が可能です。(規定値はLong)

例えば、$Date.Format = "Time" とした場合は、時間のみを表示します。

また、前述に「展開ボタンを押すとカレンダーが表示される」と記述しましたが、この展開ボタン部分をアップダウンコントロールへ変更することが可能です。
  $Date.ShowUpDown = $True
この一文を$Date.Format = "Long"の次行に追加し、再度実行すると、次のように表示されます。



ボタン部分が変わっているのがわかるでしょうか。
アップダウンコントロールにすることで、それぞれの数値を任意に増減させることができます。

*******************************************************************************************************

解説は以上となります。

例えば私は業務で、毎日Excelファイルを作成し、その日の日付をファイル名に組み込んで保存しています。

今回のDatetimePickerコントロールを使えば、GUIでユーザーに日付の選択を求めることができるので、パソコンが苦手な年配の方々にもわかりやすいものになるのではないかと考えています。

=======================================================================
本投稿に関する疑問や質問には可能な限りお答えさせていただきます。
お気軽にコメントやメールをお送りください。
(リクエストも歓迎します)
メール:tkk-powershell@gmail.com
また、間違いのご指摘・アドバイス等も歓迎いたします。
=======================================================================
Google+、Twitterで更新情報をお届けしています!
ぜひフォローをお願い致します!           
=======================================================================
スポンサーリンク


0 件のコメント:

コメントを投稿

疑問・質問・リクエスト お気軽にどうぞ (^O^)/