Word VBA 读取 任意表格的高度和宽度
有一个文档,里面有很多个不同大小、无规则的表格我想要让每个宽度大于150毫米,都缩小到宽度150毫米,或者高度大于200毫米的表格,变成高度200毫米,小的表格不变这样就...
有一个文档,里面有很多个不同大小、无规则的表格
我想要让每个宽度大于150毫米,都缩小到宽度150毫米,或者高度大于200毫米的表格,变成高度200毫米,小的表格不变
这样就需要读取每个表格的宽度、高度,然后进行判断
我看了一下,似乎ActiveDocument.Tables(i).PreferredWidth 只能设置表格宽度,不能读取表格宽度
高度更不知道怎么办
(它里面每一行每一列不一定相等,有些长有些短,而且有些是合并单元格的,所以也不能用 “第一列的宽度×列数” 来算出总列宽)
有没有办法实现这样的操作呢? 展开
我想要让每个宽度大于150毫米,都缩小到宽度150毫米,或者高度大于200毫米的表格,变成高度200毫米,小的表格不变
这样就需要读取每个表格的宽度、高度,然后进行判断
我看了一下,似乎ActiveDocument.Tables(i).PreferredWidth 只能设置表格宽度,不能读取表格宽度
高度更不知道怎么办
(它里面每一行每一列不一定相等,有些长有些短,而且有些是合并单元格的,所以也不能用 “第一列的宽度×列数” 来算出总列宽)
有没有办法实现这样的操作呢? 展开
3个回答
展开全部
Dim tb As Table
For Each tb In ThisDocument.Tables()
For i = 1 To tb.Columns.Count
tb.Cell(1, i).Range.Text = tb.Columns(i).Width / 28.35 'cm
'MsgBox tb.Columns(i).Width / 28.35
Next
For j = 1 To tb.Rows.Count
tb.Cell(j, 1).Range.Text = tb.Cell(j, 1).Range.Text & tb.Rows(j).Height / 28.35 '厘米
'MsgBox tb.Rows(j).Height / 28.35
Next
Next
以上是读取每一行列的宽、高,但合并单元格之后,就可能会出现错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试ActiveDocument.Tables(i).PreferredHeight
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |