Сохраните символьный массив в Сервере автоматизации
PutCharArray([in] BSTR varname, [in] BSTR workspace, [in] BSTR string)
PutCharArray(varname As String, workspace As String, string As String)
PutCharArray (h, 'varname', '
workspace
', 'строка')
хранит символьный массив в PutCharArray(h,'varname','workspace','string')
string
в заданном workspace
сервера, присоединенного, чтобы обработать h
, присваивая ему переменный varname
. Значениями для workspace
является base
или global
. Имя функции является чувствительным к регистру.
Этот пример использует Визуальную
команду Basic® MsgBox
для потока управления между MATLAB® и Клиентом Visual Basic. Чтобы запустить примеры в продуктах, которые выполняют код VBA, смотрите Советы.
Dim Matlab As Object Try Matlab = GetObject(, "matlab.application") Catch e As Exception Matlab = CreateObject("matlab.application") End Try MsgBox("MATLAB window created; now open it...") Matlab.PutCharArray("str", "base", _ "He jests at scars that never felt a wound.") MsgBox("In MATLAB, type" & vbCrLf _ & "str") MsgBox("closing MATLAB window...") Matlab.Quit()
Откройте окно MATLAB, нажмите ОК, и затем введите str
. Отображения MATLAB:
str = He jests at scars that never felt a wound.
Нажмите ОК, чтобы закрыть и отключить MATLAB.
Символьный массив, заданный в аргументе string
, может иметь любые размерности. Однако PutCharArray
изменяет размерности на постолбцовое представление 1 на n, где n является количеством символов в массиве. Выполнение следующих команд в MATLAB иллюстрирует это поведение:
h = actxserver('matlab.application'); chArr = ['abc'; 'def'; 'ghk'] chArr = abc def ghk PutCharArray(h,'Foo','base',chArr) tstArr = GetCharArray(h,'Foo','base') tstArr = adgbehcfk
Чтобы запустить примеры в Продуктах Office Microsoft®, которые выполняют код VBA, замените оператор:
MatLab = CreateObject("matlab.application")
с:
Set MatLab = CreateObject("matlab.application")
Если вам нужно больше информации, то обратитесь к своей документации по продукту VBA.
Выполнение
| GetCharArray
| GetWorkspaceData
| PutWorkspaceData