转自http://20110821.rexgo2011.sinaapp.com/?p=189
目前实现的功能比较初级,在Matlab的主窗口上增加了一个shortcut,按这个按钮就可以执行当前正在Matlab Editor中编辑的VBScript脚本文件。Shortcut的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | try % Matlab 7 desktop = com.mathworks.mde.desk.MLDesktop.getInstance; jEditor = desktop.getGroupContainer('Editor').getTopLevelAncestor; % we get a com.mathworks.mde.desk.MLMultipleClientFrame object catch % Matlab 6 % Unfortunately, we can't get the Editor handle from the Desktop handle in Matlab 6: %desktop = com.mathworks.ide.desktop.MLDesktop.getMLDesktop; % So here's the workaround for Matlab 6: openDocs = com.mathworks.ide.editor.EditorApplication.getOpenDocuments; % a java.util.Vector firstDoc = openDocs.elementAt(0); % a com.mathworks.ide.editor.EditorViewContainer object jEditor = firstDoc.getParent.getParent.getParent; % we get a com.mathworks.mwt.MWTabPanel or com.mathworks.ide.desktop.DTContainer object end jEditor.toFront; title = jEditor.getTitle; currentFilename = char(title.replaceFirst('Editor - ','')); if isequal(lower(currentFilename(end-3:end)),'.vbs') [s,w]=dos(currentFilename); else error('The current file is not *.vbs file!'); end |
分类:
编程