jump to navigation

rubyで手軽にダイアログボックスを表示

2008-11-07 23:58 Posted by
nase
in : プログラミング
old_train.jpg

意外と知られていないかもしれない、rubyからわずか3行でダイアログボックスを表示する方法。ただしWindows限定。

Win32OLEという標準添付のライブラリを使ってWindowsのシェル(WSHShellオブジェクト)を操作します。

rubyから3行でダイアログ

最低限必要なのはこれだけ。

require 'win32ole' 
wsh = WIN32OLE.new('WScript.Shell')
wsh.Popup("3行でダイアログ")

実行するとこうなる。

ruby_popup_1_s.gif
ダイアログを表示

オプションとしてダイアログのタイトルや、ボタンとアイコンの種類も設定できます。詳しくはMSのWSH解説ページをご覧あれ。

RubyでGUIというとRuby/Tkなどが有名ですが、別途Tcl/Tkのインストールが必要であったりして若干不便。

単純にダイアログを表示する程度であればWSHも活用できるのではないかと思います。

Win32OLEは他にもウィンドウ操作を自動化できたりして楽しそうです。

参考ページ

RubyからWSHShellオブジェクトを使う
ここのサンプルスクリプトでメモ帳が勝手に動くのを見てちょっと感動。
Ruby での Excel 操作 - miau’s blog?
Excelも操作できるらしい。参考URL先にWin32OLEの情報あり。
ruby 覚え書き ダイアログボックス関連
サンプルスクリプトいろいろ発見。

Comments»

1. よしのぼりん - 2009-9-15

ruby でコモンダイアログを使えうためのコードを、WinDialog というライブラリにまとめました:


*Comments and trackbacks will appear after it is approved by the administrator.