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

7 vues (au cours des 30 derniers jours)
lattice
lattice le 21 Fév 2020
Commenté : lattice le 29 Mai 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 できる状態になる.
英語版の方にも似た質問があるが,今のところ回答がない.ひとまずは 一番下のようにしないと,複数種類のファイルからの選択ができないので非常に不便.
中の人にも気づいていただけると助かる.

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 起動と終了 dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!