Rubyの魔神 このページをアンテナに追加 RSSフィード

   「Ruby」は宝石の魔神のイメージ(The Jinn of the Ruby)
   [VB] [VB6] [C#] [Android] [電子工作] [個人メモ] [仕事メモ] [アイデア] [TstLink] [CE] [LTSA] [自動化] [Qt] [OCaml] [TOOLS]
   [3Dプリンタ] [RAA] [Forge]   [機能別索引] [逆引きRuby] [マニュアル] [るびま] [標準ライブラリ] [るりまサーチ] [Try! Ruby] [PRaggerまとめ] [ピジョン・ブラッド]
   [Rubyコーディング規約] [プログラミングのオキテ] [Rubyist SNS] [TOOLBIS]
   [RubyネットワークProg] [druby] [コードなにがし] [RDocテンプレ] [Ruby/Tkサンプル]
   [WAVE] [Xperia] [github] [twitterなど] [Java] [EA] [マクロ]

2014-08-25

RubyでMsgBox,InputBox,OpenFileDialogを使う

RubyでMsgBox,InputBox,OpenFileDialogを使う - Rubyの魔神 を含むブックマーク はてなブックマーク - RubyでMsgBox,InputBox,OpenFileDialogを使う - Rubyの魔神 RubyでMsgBox,InputBox,OpenFileDialogを使う - Rubyの魔神 のブックマークコメント

以下のサイトを参考にしました。OSはWindows7 Ruby2.1です。

http://www3.ocn.ne.jp/~igus/starthp/ruby_memo.html

http://snjx.info/diary/snjx/052

VB風に作ってみました。

#! ruby -EWindows-31J
# -*- mode:ruby; coding:Windows-31J -*-

require 'win32ole'

class RubyGUI
	def initialize
		@wsh = WIN32OLE.new('WScript.Shell')
		@sc=WIN32OLE.new("ScriptControl")
		@sc.language="VBScript"
	end

	def msgBox(message,msgBoxStyle="OKOnly",title="")
		style=@sc.eval(msgBoxStyle)
		@wsh.Popup(message,0, title,style)
	end

	def inputBox(message,title="")
		return @sc.eval('InputBox("' + "#{message}"+'"&vbcrlf&"","' + "#{title}"+ '")')
	end

	def type(s)
		return @sc.eval(s)
	end
end

class OpenFileDialog
	attr_accessor :maxFileSize,:filter,:initDir,:fileName
	def initialize
		@obj=WIN32OLE.new("MSComDlg.CommonDialog")
		@initDir="C:\\"
		@maxFileSize =255
		@filter = "all (*.*)|*.*|"
	end
	def showDialog
		@obj.MaxFileSize =@maxFileSize    
		@obj.Filter = @filter
		@obj.InitDir =@initDir
		@obj.ShowOpen
		@fileName=@obj.FileName
	end
end


msg=RubyGUI.new
ofg=OpenFileDialog.new

ret = msg.msgBox("終了しますか?","VbYesNo","終了確認")
if ret == msg.type("VbYes") then
	msg.msgBox("終了しました")
	exit
end

msg.msgBox("ファイルを選択してください")
filename = ofg.showDialog
msg.msgBox("選択したファイルは" + filename + "です")


トラックバック - http://ruby.g.hatena.ne.jp/garyo/20140825