Word VBA 读取 任意表格的高度和宽度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Word VBA 读取 任意表格的高度和宽度相关的知识,希望对你有一定的参考价值。
有一个文档,里面有很多个不同大小、无规则的表格
我想要让每个宽度大于150毫米,都缩小到宽度150毫米,或者高度大于200毫米的表格,变成高度200毫米,小的表格不变
这样就需要读取每个表格的宽度、高度,然后进行判断
我看了一下,似乎ActiveDocument.Tables(i).PreferredWidth 只能设置表格宽度,不能读取表格宽度
高度更不知道怎么办
(它里面每一行每一列不一定相等,有些长有些短,而且有些是合并单元格的,所以也不能用 “第一列的宽度×列数” 来算出总列宽)
有没有办法实现这样的操作呢?
操作步骤:
1、选中表格,单击鼠标右键,弹出快捷菜单,选择表格属性命令,如图所示;
2、弹出表格对话框,选择行选项卡,选中指定高度复选框,在输入框中输入所需要的高度值,如图所示;
3、选择列选项卡,选中指定宽度复选框,在输入框中输入所需要的高度值,如图所示;
参考技术ADim 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
以上是读取每一行列的宽、高,但合并单元格之后,就可能会出现错误。
参考技术B 试试ActiveDocument.Tables(i).PreferredHeight本回答被提问者采纳XLSReadWriteII 行宽,列高怎么设置
word中表格宽、高设置步骤:1、打开Word2007文档窗口,在表格中选中需要设置高度的行或需要设置宽度的列;
2、在“表格工具”功能区中切换到“布局”选项卡,在“单元格大小”分组中调整“高度”数值或“宽度”数值,以设置表格行的高度或列的宽度。 参考技术A XLS.Sheets[0].Columns[2].Width :=120 //设置第三列宽度120
以上是关于Word VBA 读取 任意表格的高度和宽度的主要内容,如果未能解决你的问题,请参考以下文章