- 締切済み
コモンダイアログで拡張子の無いファイルのみ表示させたい。
Filiterの設定で特定の拡張子を持ったファイルのみ表示させることができるようなのですが、拡張子の無いファイルだけ表示させることは可能でしょうか。ピリオドも何もついていません。VB6です。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>*. >を指定 ありゃ?できたつもりでいたんですけど・・・ 失礼しました。 XPと2000で確認したところ、だめですねぇ。 コモンダイアログコントロールだからというわけではなく、 APIを使って作っても同様でした。 #回答じゃないですけど
- tsukasa-12r
- ベストアンサー率65% (358/549)
確か、Windows95 くらいまでは *. で拡張子なしファイルを指定できていたような気がするんですけど、いつの頃からかできなくなってるんですね。 もし、Office XP か Office 2003 がインストールされている環境なら、VB の Microsoft Common Dialog Control 6.0 じゃなく Office のダイアログを使用すると *. で拡張子なしファイルが指定できると思います。参考 URL のコードは Access で使用する場合のものなのでオブジェクトの取得方法が VB とは異なるとは思いますが、VB でも利用できると思います。 Office 2000 の場合は「ファイルを開くダイアログ」のメソッドがないのですが、FileSearch オブジェクトを使用すれば、*. の検索結果を取得できるようです。 (自前でコンボボックスかリストボックスに表示する必要あり?) Office が使用できない環境であれば、あとは古典的手法ですが、ドライブリスト(でしたっけ?)コントロールとかファイルリスト・コントロールを使用すれば *. で拡張子なしファイルが指定できるんじゃないかと思います。(未確認ですが。)
コモンダイアログをサブクラス化して大改造すれば、あるいは可能かもしれません。 # 結果に対して何の保証もできませんが......。 サブクラス化を嫌うなら、FSOでも使ってコモンダイアログ類似の機能を実装すれば、たぶん可能でしょう。 (未検証)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
*. を指定
補足
早速ありがとうございます。でも *.を指定すると何も表示されなくなるのですが....。 かといって*だけだと全部表示されるし困っています。
お礼
皆さんありがとうございました。 どれも一長一短があるので諦めることにしました。