MATLAB Answers

Calling a GUI from excel and keeping it open

7 views (last 30 days)
Johan
Johan on 6 Jun 2011
Hi there, need a way to keep a GUI called from excel VBA code open, I am using matlab automation server as my code below shows:
Private Sub openmatlab()
Dim hMatlab As Object
Dim sDir As String, scdDir As String, s1 As String
Dim Result As String
Set hMatlab = CreateObject("matlab.application")
s1 = "'"
sDir = s1 & ActiveWorkbook.path & s1
scdDir = "cd(" & sDir & ")"
hMatlab.Execute (scdDir)
Result = hMatlab.Execute("starter")
MsgBox "Matlab er lukket", vbOK, "Matlab"
End Sub
As you might be able to see I am using a messagebox to stop the GUI from shutting down, but that makes excel "blink" all the time, and is annoying, any thoughts on how to do it better?

  0 Comments

Sign in to comment.

Answers (2)

Robert Cumming
Robert Cumming on 6 Jun 2011
In your VBA code you could try the option
Application.ScreenUpdating = False
I have no experience of running matlab from Excel, but that used to stop the "blinking" back in the day when I ran macros.

  2 Comments

Johan
Johan on 6 Jun 2011
yeah, already tried that, but it doesn't work, besides I would like a solution that doesn't involve using the msgbox, which is kinda 'cheating' in my opinion.

Sign in to comment.


Johan
Johan on 7 Jun 2011
really no thoughts on this?

  2 Comments

Robert Cumming
Robert Cumming on 7 Jun 2011
if you provide a bit more details?
What is your matlab function doing? Is it a GUI? and do you want to wait until the GUI closes before control returns to excel?
If so have you tried uiwait(yourGUIHandle). That should stop it.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!