Save appdesigner windows automatically in user specified folder
10 ビュー (過去 30 日間)
古いコメントを表示
Hi ,
I am developing an tool in appdesigner, in which when I select and run one model, new window will open up asking the inputs and if I press continue in that window, one more new window will open up with the respective graphs.
Like that, I have multiple windows will open up based on whether I will continue or exit (using button).
At the end of the program, I need to save all the windows opened into a folder specified by the user,
Please help me with this
In the run button I am writing the code like this
RunLwrExtModeCal; %The .m file which needs to run
% FolderName = images; % Your destination folder
FigList = findobj(allchild(0), 'flat', 'Type', 'figure');
for iFig = 1:length(FigList)
FigHandle = FigList(iFig);
FigName = get(FigHandle, 'Name');
folder = "E:\TATA ELXSI\Calibration_App\images"
fullFileName = fullfile(folder,FigName,'.fig');
savefig(FigHandle, fullfile(folder, FigName, '.fig'));
end
0 件のコメント
回答 (1 件)
Vedant Shah
2025 年 5 月 30 日
To ensure that all open figure windows are saved correctly while running an application in App Designer, we can prompt the user to select a destination folder before executing the save operation. This can be achieved by incorporating the following lines of code before the code mentioned in the question:
folder = uigetdir(pwd, 'Select Folder to Save Figures');
if folder == 0
return;
end
This will ensure that the user explicitly selects a valid directory. If the selection is cancelled, the operation will be terminated.
Additionally, the original lines:
folder = "E:\TATA ELXSI\Calibration_App\images"
fullFileName = fullfile(folder,FigName,'.fig');
should be replaced with the following:
if isempty(FigName)
FigName = ['Figure_' num2str(iFig)];
end
This modification eliminates the need for hardcoded paths by using the user-defined folder paths and ensures consistent figure naming by assigning a default name using a standard pattern when none is provided.
Furthermore, the original use of:
savefig(FigHandle, fullfile(folder, FigName, '.fig'));
would create a subfolder named after the figure, rather than saving a .fig file. Replacing it with:
savefig(FigHandle, fullfile(folder, [FigName, '.fig']));
ensures that the figure is saved as a file within the specified directory.
For more information, please refer to the following documentation:
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Environment and Settings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!