How to fix error done by pressing "Cancel" button
22 views (last 30 days)
Show older comments
Jethro
on 18 Jan 2012
Commented: Titus Edelhofer
on 28 Nov 2023
Hi everybody!
I wrote a simple function to save my axes using saveas funct. but if I click on "Cancel" in the opened window, I have an error in my Matlab... There's a way to interrupt the operation of saving if users press "Cancel" without an error??
0 Comments
Accepted Answer
Titus Edelhofer
on 18 Jan 2012
Hi,
the uiputfile dialog returns 0 for the filename if the user presses cancel:
filename = uiputfile;
if filename==0
% user pressed cancel
return
end
% go on with saving your data ...
Titus
4 Comments
Ivan Demec
on 28 Nov 2023
Your answer breaks the code if you use the multiselect option of the UIgetFile i.e.,
Undefined function 'eq' for input arguments of type 'cell'.
@Walter Roberson your solution works with multiselect. Thank you
Titus Edelhofer
on 28 Nov 2023
Interesting coincidence: I wrote the answer a decade ago, and most often still use the filename==0 test. Believe it or not, just about 2 weeks ago I stumbled across my own solution not working (anymore) in case of multiselect :)
More Answers (2)
Walter Roberson
on 18 Jan 2012
Sorry, Cancel in which window exactly? And do you mean Cancel or do you mean the window close button? saveas() itself does not have a Cancel. If you are referring to something like a callback initiated from a window, have you considered setting the Cancel button to 'enable', 'off' during the time the saveas operation is going on?
0 Comments
Jethro
on 18 Jan 2012
1 Comment
Walter Roberson
on 18 Jan 2012
Yes, always test the output of uiputfile(), uigetfile(), uigetdir(), uiputdir()
See Also
Categories
Find more on Printing and Saving in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!