我有一个Word文档,其中包含许多表格。 我正在尝试构建一个宏来计算Table1中的行数,将该数字存储为Variable:[n_rows],然后将[n_rows]插入Table7。 我正在使用书签以防用户添加新表,但是我对只使用ActiveDocument表或其他任何想法都持开放态度。 我在代码的.Variables行上收到“无效或不合格的引用”(请参见下文)。 救命!
Sub CountRows()
'
' CountRows
'
'
If ActiveDocument.Bookmarks.Exists("Objectives") = True Then
ActiveDocument.Bookmarks.Item("Objectives").Select
.Variables("numrows").Value = Selection.Tables(1).Rows.Count
End If
Selection.GoTo What:=wdGoToBookmark, Name:="LogFrameSO"
Selection.InsertRowsBelow [NumRows]
End Sub
答案 0 :(得分:0)
如果您要使用以下代码:
.Variables(“ numrows”)。Value
必须存在一个名为“ numrows”的文档变量;和
使用现有代码,您需要在两个实例中将其引用为ActiveDocument.Variables(“ numrows”)。Value。
尝试:
Sub AddRows()
Application.ScreenUpdating = False
Dim r As Long, i As Long
With ActiveDocument
If .Bookmarks.Exists("Objectives") Then
r = .Bookmarks("Objectives").Range.Tables(1).Rows.Count
End If
If .Bookmarks.Exists("LogFrameSO") Then
With .Bookmarks("LogFrameSO").Range.Tables(1).Rows
For i = 1 To r
.Add
Next
End With
End If
End With
Application.ScreenUpdating = True
End Sub