uigetfile のフィルタによるファイルの選択
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
にもあるように フィルタを使って選択するファイルの種類を選ぶ機能があるはずですが
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 commentaires
Réponse acceptée
Ryuhei Funada
le 29 Mai 2020
こちらでいかがでしょうか?
[f, d] = uigetfile({'*.xlsx;*.m'}, "Select .xlsx and .m File");
ちなみに{'*.txt';'*.oif';'*.mat'}と書くと3行のcell 配列になり、{'*.txt;*.oif;*.mat'}と書くと、1行のcell配列になります。
2 commentaires
Masatoshi KASAI
le 29 Mai 2020
Funada 様.
ありがとうございます.
cell 配列を一行にまとめると,指定した拡張子の選択がアクティブになりました.
macOS だと拡張子ごとに,アクティブになるように,複数行 cell 配列で1つずつファイルタイプを指定する方法は使えないんですね.
ちなみに,一行cell配列にまとめた場合でも,ファイル選択画面下の,オプションから ”全てのファイル"を選択を試してみましたが,指定したファイルのみの選択になりますね.
まだ少し不便ですが,自作の解析プログラムの GUI を動かせるようになりましたので,助かりました.ありがとうございました.
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!