Обрезать изображения MS Word с помощью элемента управления Matlab Activex

Я использую MATLAB для вставки и подписи графиков в Microsoft Word. Я хотел бы также обрезать эти изображения с помощью элемента управления ActiveX.

что-то вроде:

word = actxserver('Word.Application')

word.Visible = 1
op = invoke(word.Documents,'Add')

invoke(word.Selection,'Paste')

invoke(word.Selection,'CropBottom',CropAmount) <----- Except there is no function that will allow me to crop.

Я изменяю файловый обмен MATLAB "save2word.m"

Спасибо

1 ответ

Решение

Рассмотрим этот пример:

%# create plot and copy to clipboard
plot(rand(10,1))
print -dmeta

%# open MS-Word
Word = actxserver('Word.Application');
Word.Visible = true;

%# create new document
doc = Word.Documents.Add;

%# paste figure from clipboard
Word.Selection.Paste

%# crop the image
doc.InlineShapes.Item(1).PictureFormat.CropBottom = 100;

%# save document, then close
doc.SaveAs2( fullfile(pwd,'file.docx') )
doc.Close(false)

%# quit and cleanup
Word.Quit
Word.delete

screenshot_ms_word

Другие вопросы по тегам