Word VBA 读取 任意表格的高度和宽度

有一个文档,里面有很多个不同大小、无规则的表格我想要让每个宽度大于150毫米,都缩小到宽度150毫米,或者高度大于200毫米的表格,变成高度200毫米,小的表格不变这样就... 有一个文档,里面有很多个不同大小、无规则的表格

我想要让每个宽度大于150毫米,都缩小到宽度150毫米,或者高度大于200毫米的表格,变成高度200毫米,小的表格不变

这样就需要读取每个表格的宽度、高度,然后进行判断

我看了一下,似乎ActiveDocument.Tables(i).PreferredWidth 只能设置表格宽度,不能读取表格宽度

高度更不知道怎么办

(它里面每一行每一列不一定相等,有些长有些短,而且有些是合并单元格的,所以也不能用 “第一列的宽度×列数” 来算出总列宽)

有没有办法实现这样的操作呢?
展开
 我来答
淡淡的雅兴
推荐于2016-07-01 · TA获得超过1.6万个赞
知道大有可为答主
回答量:4172
采纳率:86%
帮助的人:464万
展开全部

 操作步骤:

1、选中表格,单击鼠标右键,弹出快捷菜单,选择表格属性命令,如图所示;

2、弹出表格对话框,选择行选项卡,选中指定高度复选框,在输入框中输入所需要的高度值,如图所示;

3、选择列选项卡,选中指定宽度复选框,在输入框中输入所需要的高度值,如图所示;

EchoWasd213
2011-11-12 · TA获得超过141个赞
知道小有建树答主
回答量:122
采纳率:0%
帮助的人:113万
展开全部

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

以上是读取每一行列的宽、高,但合并单元格之后,就可能会出现错误。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhh0000zhh
2011-11-10 · TA获得超过386个赞
知道小有建树答主
回答量:419
采纳率:100%
帮助的人:300万
展开全部
试试ActiveDocument.Tables(i).PreferredHeight
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式