MATLAB: Sending data to MatLab using PutWorkspaceData

automation servercomexcel

I am having trouble getting the correct syntax for passing data into MatLab using Excel/VBA.
I have copied the example from the help document http://www.mathworks.com/help/techdoc/ref/putworkspacedata.html but receive the following error:
Dim Matlab As Object
Dim data(6) As Double
Dim i As Integer
MatLab = CreateObject("matlab.application")
For i = 0 To 6
data(i) = i * 15
Next i
MatLab.PutWorkspaceData("A","base",data)
MsgBox("In MATLAB, type" & vbCrLf & "A")
"Compile Error: Syntax Error" around the following line of code:
Matlab.PutWorkspaceData("A", "base", data)
What is the correct syntax for this call?
Thank You, Craig
PS. I'm using Excel 2007 with VB 6.5 and Matlab R2010a

Best Answer

Solution ID: 1-8M7ZNR found here <http://www.mathworks.com/support/solutions/en/data/1-8M7ZNR/index.html?product=EL&solution=1-8M7ZNR> provides a working example of sending and getting data to Matlab. I unfortunately cannot figure out how I ran across this help document but the solution works for my environment.
Two points to make:
1) Essentially the data in excel is an array of doubles but a variant is used to eventually send the data to MatLab. The MatLab help mentions that a variant should be used but skips this conversion step in example provided within.
2) The solution uses the "Call" command in excel to remove any syntax errors. I used "Result =" which seems to also be acceptable.
Cheers,
Craig