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

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

Risposta accettata

Ryuhei Funada
Ryuhei Funada il 29 Mag 2020
こちらでいかがでしょうか?
[f, d] = uigetfile({'*.xlsx;*.m'}, "Select .xlsx and .m File");
ちなみに{'*.txt';'*.oif';'*.mat'}と書くと3行のcell 配列になり、{'*.txt;*.oif;*.mat'}と書くと、1行のcell配列になります。
  2 Commenti
Masatoshi KASAI
Masatoshi KASAI il 29 Mag 2020
Funada 様.
ありがとうございます.
cell 配列を一行にまとめると,指定した拡張子の選択がアクティブになりました.
macOS だと拡張子ごとに,アクティブになるように,複数行 cell 配列で1つずつファイルタイプを指定する方法は使えないんですね.
ちなみに,一行cell配列にまとめた場合でも,ファイル選択画面下の,オプションから ”全てのファイル"を選択を試してみましたが,指定したファイルのみの選択になりますね.
まだ少し不便ですが,自作の解析プログラムの GUI を動かせるようになりましたので,助かりました.ありがとうございました.
lattice
lattice il 29 Mag 2020
失礼しました,別のアカウントでお礼のコメントしてしまいました.が,上記は質問者でした.
ありがとうございました.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 起動と終了 in Help Center e File Exchange

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!