Как вставить несколько фигур в несколько таблиц в Matlab? - PullRequest
3 голосов
/ 29 марта 2011

Вот что я пытаюсь достичь в MATLAB:

Страница 1

______________
|      |     |
| Fig1 | Fig2|
|      |     |
|______|_____|
|      |     |
| Fig3 | Fig4|
|      |     |
|______|_____|

Страница 2

______________
|      |     |
| Fig5 | Fig6|
|      |     |
|______|_____|
|      |     |
| Fig7 | Fig8|
|      |     |
|______|_____|

Я не могу определить параметр для передачи InsertBreak, чтобы получить новую страницу:

word = actxserver('Word.Application');

word.Visible = 1;

op = invoke(word.Documents,'Add');

active=word.ActiveDocument;

%% Table 1
% Create 4x4 table
range=word.Selection.Range;
shapes=word.Selection.InlineShapes;
t=invoke(word.ActiveDocument.Tables,'add',range,2,2);

% fill each cell with an image, image will fit to table
invoke(shapes,'addpicture',fullfile(pwd, 'fig1.wmf'));

invoke(word.Selection,'moveright',1,1);
invoke(shapes,'addpicture',fullfile(pwd, 'fig2.wmf'));

invoke(word.Selection,'moveright',1,2);
invoke(shapes,'addpicture',fullfile(pwd, 'fig3.wmf'));

invoke(word.Selection,'moveright',1,1);
invoke(shapes,'addpicture',fullfile(pwd, 'fig4.wmf'));

%% Table 2, I want this on a new page
invoke(word.Selection,'InsertBreak',2); % how do I get the next stuff on a new page?
range=word.Selection.Range;
shapes=word.Selection.InlineShapes;
t=invoke(word.ActiveDocument.Tables,'add',range,1,2);

invoke(shapes,'addpicture',fullfile(pwd, 'fig1.wmf'));
invoke(word.Selection,'moveright',1,1);
invoke(shapes,'addpicture',fullfile(pwd, 'fig2.wmf'));

1 Ответ

1 голос
/ 29 марта 2011

Попробуйте следующее вместо вашей строки InsertBreak. Перемещает начало выделения в конец документа. Без перемещения ваш код вставляет разрыв страницы внутри ячейки таблицы.

invoke(word.Selection, 'MoveStart', 6);
invoke(word.Selection, 'InsertBreak');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...