• ベストアンサー

ファイル選択ダイアログで複数の拡張子を有効に

Ruby+VisualuRubyでプログラムを作っています。 ファイル選択ダイアログで file_name = SWin::CommonDialog::openFilename(nil, [["テキスト(*.txt)","*.txt"],["DOC(*.doc)","*.doc"],["DOCX(*.docx)","*.docx"]], 0x1000, "ファイル選択") とすれば、複数の拡張子からの選択が可能になるのはわかったのですが、 これだと、拡張子を選んで、その拡張子のファイルから選択することになります。 同時に、複数の拡張子のファイルを表示し、その中から選択するようにはできないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • siffon9
  • ベストアンサー率64% (136/211)
回答No.1

こんにちは 以下の様に表示したい拡張子をセミコロンで区切って並べてみて下さい。 ---------------------------------- # coding: windows-31j require 'vr/vruby' require 'vr/vrcontrol' class MyForm < VRForm include VRCommonDialog def construct self.caption = 'テスト' self.move(0,0,500,500) addControl(VREdit, 'edit1' , "", 0,0,400,25) addControl(VRButton,'button1',"File", 400,0 ,90,25) end def button1_clicked file = openFilenameDialog([["すべて","*.*"],["テキストファイル","*.txt; *.csv"]]) @edit1.text = file if file end end VRLocalScreen.start(MyForm)

kihonkana
質問者

お礼

素早い回答ありがとうございます。 openFilename(nil, [["(*.txt),(*.doc),(*.docx)","*.txt;*.doc;*.docx"]], 0x1000, "ファイル選択") でうまくいきました。 file_name = SWin::CommonDialog::openFilename(nil, [["テキスト(*.txt)","*.txt"],["DOC(*.doc)","*.doc"],["DOCX(*.docx)","*.docx"]], 0x1000, "ファイル選択") この「,」を「;」に変えたり、「|」に変えたりしてもうまくいかず困っていました。 「””」に入れないと駄目だったんですね。 助かりました。

関連するQ&A