Main Content

GetWorkspaceData

自动化服务器工作区中的数据

大纲

IDL 方法签名

HRESULT GetWorkspaceData([in] BSTR varname, [in] BSTR workspace,
    [out] VARIANT* pdata)

Microsoft Visual Basic 客户端

GetWorkspaceData(varname As String, workspace As String) As Object

MATLAB 客户端

D = GetWorkspaceData(h,'varname','workspace')

描述

D = GetWorkspaceData(h,'varname','workspace') 从附加到句柄 h 的服务器的指定 workspace 获取存储在变量 varname 中的数据并将该数据返回到输出参量 D 中。workspace 的值为 baseglobal编写 VBA 代码时使用此语法。

使用 GetWorkspaceData 而非 GetFullMatrixGetCharArray 分别获取数值和字符数组数据。请对稀疏数组、结构体或函数句柄使用 GetWorkspaceData

对于 VBScript 客户端,使用 GetWorkspaceDataPutWorkspaceData 函数向 MATLAB® 工作区传递数值数据和从该工作区传出数值数据。这些函数使用 variant 数据类型而非 GetFullMatrixPutFullMatrix 使用的 safearray 数据类型。VBScript 不支持 safearray

示例

全部展开

以下示例说明如何使用 Visual Basic® .NET 客户端从 MATLAB 自动化服务器读取数据。

type getworkspacedata.vb
Dim Matlab As Object
Dim C2 As Object
Dim Result As String
Matlab = CreateObject("matlab.application")
Result = MatLab.Execute("C1 = {25.72, 'hello', rand(4)};")
MsgBox("In MATLAB, type" & vbCrLf & "C1")
Matlab.GetWorkspaceData("C1", "base", C2)
MsgBox("second value of C1 = " & C2(0, 1))

以下示例说明如何使用 VBA 客户端从 MATLAB 自动化服务器读取数据。

type getworkspacedata.vba
Dim Matlab As Object
Dim C2 As Variant
Dim Result As String
Set Matlab = CreateObject("matlab.application")
Result = MatLab.Execute("C1 = {25.72, 'hello', rand(4)};")
MsgBox("In MATLAB, type" & vbCrLf & "C1")
X = Matlab.GetWorkspaceData("C1", "base", C2)
MsgBox("second value of C1 = " & C2(0, 1))

版本历史记录

在 R2006a 之前推出