当前位置: 服务支持 >  技术文档 >  MATLAB自动化报告生成:表格操作指南‌

MATLAB自动化报告生成:表格操作指南‌

阅读数 72
点赞 22
copyright 著作权
article_banner

前两期介绍了如何用MATLAB启动Word并写入文本和图片,这期将介绍如何使用MATLAB中进行 Word的表格操作

表格在Word中为Table对象,可以调用Add方法在指定位置添加表格

图1 Table对象

下面的例子给出了一种表格的插入方法,包括表格的插入、单元格内容的写入、删除以及简单的框线定义

myTable = ActiveDoc.Tables.Add(Selection.Range,4,3);    %在当前位置插入一个4x3的表格
myTable.Borders.InsideLineStyle = 'wdLineStyleSingle';  %将内部框线定义为实线
myTable.Borders.InsideLineWidth = 'wdLineWidth050pt';   %将内部线线宽定于为0.5磅
myTable.Borders.OutsideLineStyle = 'wdLineStyleDouble'; %将外部框线定义为双实线
myTable.Borders.InsideLineWidth = 'wdLineWidth050pt';   %将外部线线宽定于为0.5磅
myTable.Cell(1,1).Range.InsertAfter("1");   %在第一行第一列的单元格中写1
myTable.Cell(4,3).Range.InsertAfter("12");   %在第四行第三列的单元格中写12
myTable.Cell(1,2).Delete    %删除第一行第二列的单元格

执行之后可以得到下面的结果

图2 插入表格

可以看出,Delete就是用右侧的单元格将删除的单元格覆盖了,进行单元格的合并和拆分可以用下面的方法

myTable.Cell(1,1).Range.InsertAfter("1");   %在第一行第一列的单元格中写1
myTable.Cell(1,2).Range.InsertAfter("2");   %在第一行第二列的单元格中写2
myTable.Cell(1,1).Merge(myTable.Cell(1,2))  %将第一行第一列和第一行第二列合并
myTable.Cell(2,1).Split(2,2)    %将第二行第一列的单元格拆分成两行两列

通过运行结果可以看出,合并单元格后,原来单元格的数据都会同时保留,如果需要连续合并单元格,只需要将Merge方法中的两个单元格定为需要合并的单元格序列的首尾坐标即可。

图3 合并和拆分单元格

进一步的,如何设定我们在报告或论文中常见到的表格样式呢,下面就给出了一种设置方法

myTable.Rows.Item(1).Borders.Item('wdBorderTop').LineStyle = 'wdLineStyleSingle';   %将第一行的上框线定义为单实线,可用myTable.Rows.First代替
myTable.Rows.Item(1).Borders.Item('wdBorderTop').LineWidth = 'wdLineWidth225pt';    %线宽设置为225磅
myTable.Rows.Item(1).Borders.Item('wdBorderBottom').LineStyle = 'wdLineStyleSingle';%将第一行的下框线定义为单实线
myTable.Rows.Item(1).Borders.Item('wdBorderBottom').LineWidth = 'wdLineWidth050pt'; %线宽设置为50磅
myTable.Rows.Item(4).Borders.Item('wdBorderBottom').LineStyle = 'wdLineStyleSingle';%将第四行的下框线定义为单实线,可用myTable.Rows.Last代替
myTable.Rows.Item(4).Borders.Item('wdBorderBottom').LineWidth = 'wdLineWidth225pt'; %线宽设置为225

运行的结果如下

图4 常见表格样式

在对大量图片进行排版时,也常会用到表格,这时需要将图片插入到空白的表格中,可以这样实现

myTable = ActiveDoc.Tables.Add(Selection.Range,4,3);    %在当前位置插入一个4x3的表格
Fig = myTable.Cell(1,2).Range.InlineShapes.AddPicture([pwd '\1.jpg']);  %在第一行第二列插入图片

图5 在表格中插入图片

cut-off

补充:

来源:Word (枚举 | Microsoft Learn)

https://learn.microsoft.com/zh-cn/office/vba/api/word(enumerations)

图6 边框枚举

图7 枚举类型

相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空