当前位置:编程学习 > VB >>

【貌似菜鸟问题,却难坏了很多高手】VBA编程中取得word中table中Rows.count出错

var table = TANGER_OCX_OBJ.ActiveDocument.Tables(1); //找到word中的表格
var tableRows = table.Rows.Count; //获得table的行数

首先我得word中有一个表格,3行7列的,列数不变,每次更新的时候都是要更新除第一行和最后一行的中间的所有行。这样就产生了一个问题:
当我从3行增加到5行的时候  是没有问题的 count出来的值也会是5
但是当我删掉中间一行的时候,再次count出来的值还是5
真的是很郁闷,问了很多人都看不出来什么原因。希望CSDN的高手们帮忙!!!
--------------------编程问答-------------------- 感觉还是word自身bug,我这里录制宏都成问题 --------------------编程问答--------------------
    Table = ActiveDocument.Tables(1)
    tableRows = Table.Rows.Count
    MsgBox tableRows

VBA里执行没有问题啊 --------------------编程问答-------------------- 我用宏测试没有lz说的问题出现 --------------------编程问答-------------------- 没问题 --------------------编程问答-------------------- Sub aa()
Dim tableA As Table
If ActiveDocument.Tables.Count = 1 Then
  Set tableA = ActiveDocument.Tables(1)
  MsgBox "表格的行数是:" & tableA.Rows.Count
  MsgBox "表格的列数是:" & tableA.Columns.Count
End If
End Sub
完全正常! --------------------编程问答-------------------- 上面的问题我自己已经解决了  就是删除的问题  现在还有一个棘手的问题是  另外一张表(n行7列的)  最后一行是合并列 一列的 我想删除倒数第二行  可是每次删除掉了 按理说 它现在的行号应该表示最后一行了  可是每次我用isLast验证的时候 都是false 这样行还是有的  可是word中明明这一行没有了  用Range也是可以查找出来的 有没有人遇到过这个问题 --------------------编程问答-------------------- 楼主说的这个情况,我知道,我也有出现过这个情况,是因为,你记录了痕迹。你把痕迹取消之后,就可以了。
补充:VB ,  VBA
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,