Why am I unable to get data from MATLAB into my VBA application?

2 visualizaciones (últimos 30 días)
I am passing a 1-dimensional Variant array from Excel VBA to MATLAB using the PutWorkspaceData function. This works as expected. However, when I try to read this array back from MATLAB into Excel using the GetWorkspaceData function, I get an error.

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 23 de Sept. de 2016
When working with data brought in from MATLAB over the COM interface, we need to know the expected dimensions of this object. For instance, in the example below, we need to know that the fromArray returned by MATLAB is a 2x2 matrix:
Sub mytry()
Dim ml As Object
Dim toArray, fromArray As Variant
Dim simple(1, 1) As Double
Set ml = CreateObject("matlab.application")
simple(0, 0) = 1
simple(0, 1) = 2
simple(1, 0) = 3
simple(1, 1) = 4
toArray = simple
Call ml.PutWorkspaceData("toArray", "base", toArray)
Call ml.GetWorkspaceData("toArray", "base", fromArray)
MsgBox fromArray(0, 0) & " " & fromArray(0, 1) & vbCrLf & fromArray(1, 0) & " " & fromArray(1, 1)
End Sub

Más respuestas (0)

Categorías

Más información sobre Data Export to MATLAB en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by