How to find the name of the file that is being edited?

9 ビュー (過去 30 日間)
Alecsander Eitan
Alecsander Eitan 2015 年 9 月 1 日
コメント済み: Guillaume 2015 年 9 月 3 日
Hi, I would like to write a Matlab script that performs an operation on the file that is being eddited (file that is displayed now in the editor window). To do so, I need to know the name of the file. I was looking all over the places and didn't find the solution. To be more specific, I looking for a solution like gcf() The reason I'm looking for such a solution is that I would like to do some analysis and processing on the eddited file like: Publish (without the Matlab option), save to... Thank you, Alecs

採用された回答

Steven Lord
Steven Lord 2015 年 9 月 1 日
Or you could use the Editor API. Look for help on matlab.desktop.editor for more information -- it seems like getActiveFilename is what you want.
  2 件のコメント
Alecsander Eitan
Alecsander Eitan 2015 年 9 月 1 日
Thank you! It works! By using: EDITOROBJ = matlab.desktop.editor.getActive; I get the name. Thank you, Alecs
Guillaume
Guillaume 2015 年 9 月 3 日
Considering the editor API has been introduced in 2011, it would be good if its documentation was discoverable.
I certainly wasn't aware of it since a search in the help browser does not return anything useful. Even a lookfor editor does not return any hint that there's such an api.

サインインしてコメントする。

その他の回答 (2 件)

Adam
Adam 2015 年 9 月 1 日
編集済み: Adam 2015 年 9 月 1 日
doc mfilename
will give you the name of the file currently executing.
I'm not aware of any function that will give you the names of all files currently open in the editor though if that is what you mean instead.
  1 件のコメント
Alecsander Eitan
Alecsander Eitan 2015 年 9 月 1 日
Thank you.
This is not what I'm looking for.
Alecs

サインインしてコメントする。


Guillaume
Guillaume 2015 年 9 月 1 日
See Yair's site on how to access the editor. Accessing the name of the file being currently edited is one of the first example:
desktop = com.mathworks.mde.desk.MLDesktop.getInstance;
jEditor = desktop.getGroupContainer('Editor').getTopLevelAncestor;
jEditor.getTitle
Of course, as it relies on undocumented interfaces, there's no guarantee that it will work in future versions.
  1 件のコメント
Alecsander Eitan
Alecsander Eitan 2015 年 9 月 1 日
Hi, Unfortunatly this method is not working for me on Matlab R2014a. But next answer is :-)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeEnvironment and Settings についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by