uigetfile のフィルタによるファイルの選択
9 次查看(过去 30 天)
显示 更早的评论
にもあるように フィルタを使って選択するファイルの種類を選ぶ機能があるはずですが
macOS Catalina 10.15.3, Matlab 2018a, 2019a, 2019b では
フィルタで最初に指定した拡張子以外選択ができない.(以前はできていたと思う).
例えば,
[f, d] = uigetfile(...
{'*.txt';'*.oif';'*.mat'},...
'SELECT a file');
だと,まずテキストファイルが選択できるが,option で選択したいファイルの拡張子を選んでも全てのファイルが非アクティブで開けない
[f, d] = uigetfile;
だと matlab に関するファイルは全て選択できるが,他の拡張子や全てのファイルを選んでも,全てのファイルが非アクティブで開けない
[f, d] = uigetfile('*', 'All files');
とすると,GUI 上ではフォルダ内のファイルは非アクティブで薄くなって見えるが,選択して Open できる状態になる.
英語版の方にも似た質問があるが,今のところ回答がない.ひとまずは 一番下のようにしないと,複数種類のファイルからの選択ができないので非常に不便.
中の人にも気づいていただけると助かる.
0 个评论
采纳的回答
Ryuhei Funada
2020-5-29
こちらでいかがでしょうか?
[f, d] = uigetfile({'*.xlsx;*.m'}, "Select .xlsx and .m File");
ちなみに{'*.txt';'*.oif';'*.mat'}と書くと3行のcell 配列になり、{'*.txt;*.oif;*.mat'}と書くと、1行のcell配列になります。
2 个评论
Masatoshi KASAI
2020-5-29
Funada 様.
ありがとうございます.
cell 配列を一行にまとめると,指定した拡張子の選択がアクティブになりました.
macOS だと拡張子ごとに,アクティブになるように,複数行 cell 配列で1つずつファイルタイプを指定する方法は使えないんですね.
ちなみに,一行cell配列にまとめた場合でも,ファイル選択画面下の,オプションから ”全てのファイル"を選択を試してみましたが,指定したファイルのみの選択になりますね.
まだ少し不便ですが,自作の解析プログラムの GUI を動かせるようになりましたので,助かりました.ありがとうございました.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!