How to call a matlab function from an excel macro

Hi,
I'm creating an excel vba macro. I want to call and open matlab with a specific function by clicking the macro.
Is this possible?
Thanks,

3 个评论

Dim MatLab As Object
Sub RunMatlabDayfiletool()
'Create the Matlab Object
Set MatLab = CreateObject("Matlab.Application")
Call MatLab.Execute("cd('D:\OLD')")
Call MatLab.Execute("AutoMakeFile.m")
End Sub
I ran this is vba, matlab opens up but doesn't run the script. When typing in 'cd' the path shown is the correct one
Can someone help with this?
Thanks
When I saw the example for this type of scripts in https://in.mathworks.com/help/matlab/ref/execute.html?searchHighlight=MatLab.Execute&s_tid=doc_srchtitle site I have observed that
Set Matlab = CreateObject("matlab.application")
but in your script it is different and try using "Feval" functionfor calling something in it.
for example check more about feval

请先登录,再进行评论。

 采纳的回答

I can do basic things like plot graphs, create variables using this script but as soon as I tell it to run a script it freezes and excel starts giving this message:
'Microsoft Excel is waiting for another programme to complete an OLE Command'
This is the script I used:
Dim MatLab As Object
Sub RunMatlabDayfiletool()
'Create the Matlab Object
Set MatLab = CreateObject("Matlab.Application")
Result = MatLab.Execute("cd('\\Directory')")
Result = MatLab.Execute("x = -pi:.1:pi; y = sin(x); plot(x,y)")
End Sub

1 个评论

OK looks like it runs the script but doesn't display the commands in the command window, everything runs invisibly
Any way round this?

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Data Export to MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by