Why does winopen not work well?

7 次查看(过去 30 天)
After ranning hundreds of lines of code and export for a mat table, code winopen the folder does not worked so well while busy is displayed at the botttom left corner? Even train sould has been player, the desired path is still not opened. If you only ran the cold winopen, it works well. I do not know why?
Does anybody know how to sovlve this? Appreciate for any help or any clue.
Belllow is the end of the code I have ran.
% omit of some code for processing
outputName = fullfile(path, ,'ResSal_Type.xlsx']);
writecell(Res, outputName, 'Sheet', 'Sheet1');
disp(sprintf('Finished'));
winopen(path)
load train % loads two variables, y and Fs
sound(y, Fs); % plays the sound
  2 个评论
Mario Malic
Mario Malic 2024-3-16
Code will continue after you close your application.
Haiquan
Haiquan 2024-3-16
Thanks. In this condition do you know how to make sure the file will be opened by using winop(path)?

请先登录,再进行评论。

采纳的回答

dpb
dpb 2024-3-17
编辑:dpb 2024-3-17
...
outputName = fullfile(path, ,'ResSal_Type.xlsx']);
writecell(Res, outputName, 'Sheet', 'Sheet1');
...
winopen(path)
...
You wrote to file outputName but then try to only open the folder -- that will open file explorer to the given folder but clearly should NOT open the file, that isn't what winopen() was asked to do.
Use
...
winopen(outputName )
...
instead.
  7 个评论
dpb
dpb 2024-3-19
To prove the above hypothesis, try commenting out the call to sound(y,FS) temporarily.
If the winopen() call then works as expected, it is the system sound call that is blocking the other OS system call. Unfortunately, it doesn't appear that sound is supported in the threaded functionality; one can hope that maybe a drawnow would let the system have a chance to dispatch the other code...
dpb
dpb 2024-3-19
However, a trivial case here to try to illustrate seems to work...
winopen(cd)
load gong.mat;
sound(y);
A script containing only the above here works seemingly every time (warning--the gong is quite annoying if your speaker volume is set at any great magnitude...)
See if such a trivial case will work for you...if so, and your other code still doesn't, then it begins to look like something else not shown may be the culprit instead.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Just for fun 的更多信息

标签

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by