2015-06-09

PowerShellでMessageBoxを使用する

PowerShellをもっとたくさんの人に使っていただき、その方々の作業効率が向上することを願って、PowerShellの使い方を発信していくことにしました。

Web検索から辿り着いてこられた方々のお役に立てれば幸いです。

今回は「MessageBox (メッセージボックス)」について書いていきます。

メッセージボックスは処理が終わったタイミングや確認メッセージを表示させたい時など、なにかとよく使うものなので、ぜひ覚えていってください!

ここからメッセージボックスを表示させる方法を記述します。

---ここから------------------------------------------------------------------------------------

# アセンブリの読み込み
Add-Type -Assembly System.Windows.Forms

# メッセージボックスの表示
[System.Windows.Forms.MessageBox]::Show("ここにメッセージ", "タイトル")

---ここまで------------------------------------------------------------------------------------

 上の内容をコピーして、PowerShell ISEを起動し、貼り付けたあと、[スクリプトを実行(F5)]を押してみてください。


この画像と同じものが表示されれば成功です!


それでは解説していきます。
(文頭に#が付いているものはコメントを表します。コメントについては特に解説しません)

◆1行目
Add-Type -Assembly System.Windows.Forms

PowerShellでMessageBoxを使用するには、.NET Frameworkライブラリ内のSystem.Windows.Forms名前空間におけるMessageBoxクラスを利用します。
このMessageBoxクラスを含んでいるアセンブリを1行目でロードしています。
要するに、メッセージボックスを使用するための準備のようなものです。
この一文がないと使用できませんので、先に必ず記述する必要があります。
但し、1つのスクリプトファイル上で複数のメッセージボックスを使用する場合でも、この記述は一度でOKです。


◆2行目
[System.Windows.Forms.MessageBox]::Show("ここにメッセージ", "タイトル")

この文の基本型は次の通りとなります。
 [System.Windows.Forms.MessageBox]::Show("A", "B", "C", "D","E")

このA~Eは引数であり、それぞれを指定することによって、ボタンの種類を変えたり、アイコンを表示するなどのオプション的な働きがあります。

A… [第一引数] メッセージボックス内に表示する文字列を指定する           
B… [第二引数] メッセージボックスのタイトルを指定する           
C… [第三引数] メッセージボックス内に表示するボタンを指定する           
D… [第四引数] メッセージボックス内に表示するアイコンを指定する           
E… [第五引数] 第三引数で指定したボタンのうち、デフォルトで選択状態にするボタンを指定する           

<ボタンの種類>
 1.OK   
 2.OKCancel   
 3.AbortRetryIgnore   
 4.YesNoCancel   
 5.YesNo   
 6.RetryCancel

<アイコンの種類>
 1.None
 2.Hand
 3.Error
 4.Stop
 5.Question
 6.Exclamation
 7.Warning
 8.Asterisk
 9.Information

これだけではわかりにくいと思いますので、いくつか例を記述します。

●例1
Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.MessageBox]::Show("メッセージボックスのテスト", "ここがタイトル", "AbortRetryIgnore", "Warning","button2")

●例1の結果



例2
Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.MessageBox]::Show("メッセージボックスのテスト", "ここがタイトル", "YesNoCancel", "Hand","button3")

●例2の結果


いかがでしょうか?
画像と同じ結果が表示されましたでしょうか?

あとはご自身で、ボタンの種類を変えてみたり、アイコンの種類を変えてみたり、いろいろ試してみてください!


メッセージボックスは様々な場面で使えると思いますので、ぜひ活用してください。

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


0 件のコメント:

コメントを投稿

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