Сохранить объект Excel OLE на диск через MATLAB - PullRequest
1 голос
/ 20 февраля 2020

У меня есть электронная таблица с двумя встроенными файлами JPEG. Я хотел бы извлечь их и записать в каталог c. Я могу сделать это в VBA как:

Sub Macro1()
    ActiveSheet.Shapes.Range("Photo Object 1").Select
    Selection.Copy
    DestinationFolder = "C:..."
    CreateObject("Shell.Application").Namespace(CVar(DestinationFolder)).self.InvokeVerb "Paste"


    ActiveSheet.Shapes.Range("Photo Object 2").Select
    Selection.Copy
    CreateObject("Shell.Application").Namespace(CVar(DestinationFolder)).self.InvokeVerb "Paste"
End Sub

Я хотел бы сделать то же самое через MATLAB. Пока что я получил следующее:.

Excel = actxserver('Excel.Application');
fullFileName = 'C:\....xls';
invoke(Excel.Workbooks, 'Open', fullFileName);
Workbook = Excel.ActiveWorkbook;
Worksheets = Workbook.sheets;
objects=Worksheets.Item(1).OLEObjects;
image1=Item(objects,1); % This is photo object 1
image2=Item(objects,2); % This is photo object 2
Copy(image1)
objShell = actxserver('Shell.Application');
DestinationFolder = 'C:\';
objFolder = objShell.NameSpace(DestinationFolder);
objFolderItem = objFolder.Self;

Это дает ошибку, что Self не распознается. Я не могу понять, как вставить в мой любимый каталог. Скопированное изображение существует в системном буфере обмена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...