我在Matlab中的代码经过计算后会打印出结果。我正在使用writetoword.m,我的结果主要是表格。我需要帮助对齐这些表格。
FileSpec = fullfile(CurDir,[WordFileName,'.pdf']);
[ActXWord,WordHandle]=StartWord(FileSpec);
WordCreateTable(ActXWord,NoRows,NoCols,readings,6);
function WordCreateTable(actx_word_p,nr_rows_p,nr_cols_p,data_cell_p,enter_p)
if(enter_p(1))
actx_word_p.Selection.ParagraphFormat.Alignment=1;
actx_word_p.Selection.TypeParagraph;
end
actx_word_p.Selection.ParagraphFormat.Alignment=1;
actx_word_p.ActiveDocument.Tables.Add(actx_word_p.Selection.Range,nr_rows_p,nr_cols_p,2,1);
for r=1:nr_rows_p
for c=1:nr_cols_p
actx_word_p.Selection.ParagraphFormat.Alignment=1;
WordText(actx_word_p,data_cell_p{r,c},'Normal',[0,0]);
if(r*c==nr_rows_p*nr_cols_p)
actx_word_p.Selection.MoveDown;
else
actx_word_p.Selection.MoveRight;
end
end
end
end
function WordText(actx_word_p,text_p,style_p,enters_p,color_p)
if(enters_p(1))
actx_word_p.Selection.TypeParagraph;
end
actx_word_p.Selection.Style = style_p;
if(nargin == 5)
actx_word_p.Selection.Font.Color=color_p;
end
actx_word_p.Selection.TypeText(text_p);
actx_word_p.Selection.Font.Color='wdColorAutomatic';
for k=1:enters_p(2)
actx_word_p.Selection.TypeParagraph;
end
set(actx_word_p.Selection.ParagraphFormat,'Alignment',1);
end
我想在一张纸上打印所有表格,我需要表格并排。使用上面的代码,它总是从一个新的行开始。我怎么能这样做?
答案 0 :(得分:0)
当我想在Word中并排放置两个表时,我通常会从一个新的“辅助”表开始,该表具有以下细节
然后我将第一个表写入“辅助”表的左侧单元格,将第二个表格写入右侧单元格。当你使用它时,我还设法从MatLab用COM服务器做到这一点。需要一些编码,但没有什么太花哨的。如果您有任何疑问,请告诉我。