MATLAB Answers

1

Is it possible to call Excel Macro Functions from MATLAB?

I would like to call Excel Macro Functions from MATLAB.

Products


Release

R2007b

1 Answer

Answer by MathWorks Support Team on 27 Jun 2009
 Accepted Answer

You can execute Excel Macro functions from the MATLAB environment by using the ActiveX interface.
Here are two simple examples on how to call a Sub (in VB/VBA: a procedure without any returned values) and a Function (returns a value):
excelObject = actxserver('Excel.Application');
excelObject.Workbooks.Open('C:\Test.xls');
excelObject.Run('TestSub', 'Hello world');
retValue = excelObject.Run('TestFnc', 'Hello world from a function');
The Excel Macro routines that belong to this example (Test.xls) should be in a module and look as follows:
Public Sub TestSub(arg1 As String)
MsgBox arg1
End Sub
Public Function TestFnc(arg1 As String)
TestFnc = "Passed: " & arg1
End Function

  0 Comments

Sign in to comment.