这是我试图在 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'));
最佳答案
尝试以下操作来代替 InsertBreak
行。它将所选内容的开头移动到文档的结尾。如果没有移动,您的代码将在表格单元格内插入分页符。
invoke(word.Selection, 'MoveStart', 6);
invoke(word.Selection, 'InsertBreak');
关于matlab - 如何在Matlab中将多个图形插入到多个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5467769/