uigetfile のフィルタによるファイルの選択

조회 수: 7 (최근 30일)
lattice
lattice 2020년 2월 21일
댓글: lattice 2020년 5월 29일
にもあるように フィルタを使って選択するファイルの種類を選ぶ機能があるはずですが
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 できる状態になる.
英語版の方にも似た質問があるが,今のところ回答がない.ひとまずは 一番下のようにしないと,複数種類のファイルからの選択ができないので非常に不便.
中の人にも気づいていただけると助かる.

채택된 답변

Ryuhei Funada
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
Masatoshi KASAI 2020년 5월 29일
Funada 様.
ありがとうございます.
cell 配列を一行にまとめると,指定した拡張子の選択がアクティブになりました.
macOS だと拡張子ごとに,アクティブになるように,複数行 cell 配列で1つずつファイルタイプを指定する方法は使えないんですね.
ちなみに,一行cell配列にまとめた場合でも,ファイル選択画面下の,オプションから ”全てのファイル"を選択を試してみましたが,指定したファイルのみの選択になりますね.
まだ少し不便ですが,自作の解析プログラムの GUI を動かせるようになりましたので,助かりました.ありがとうございました.
lattice
lattice 2020년 5월 29일
失礼しました,別のアカウントでお礼のコメントしてしまいました.が,上記は質問者でした.
ありがとうございました.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 起動と終了에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!