使用VBA可以通过表数以外的方法指定和定位docx文件中的特定表
我有一个access数据库,用于填充各种docx模板。这些docx文件中会出现相同的表,但其位置(相对于其他表)在每个文件中都不相同。是否有一种方法可以将标签或名称分配给表格,以便VBA可以通过这种方法而不是通过正常的表格编号来定位它?通过使用VBA可以通过表数以外的方法指定和定位docx文件中的特定表,vba,ms-access,ms-word,Vba,Ms Access,Ms Word,我有一个access数据库,用于填充各种docx模板。这些docx文件中会出现相同的表,但其位置(相对于其他表)在每个文件中都不相同。是否有一种方法可以将标签或名称分配给表格,以便VBA可以通过这种方法而不是通过正常的表格编号来定位它?通过集合对它们进行索引的唯一方法是按顺序。但是,您始终可以从表属性中选择一个,如.ID、.Title或.Descr来构建自己的检索功能。使用.ID它可能看起来像这样: Private Function GetTableById(seeking As String)
集合对它们进行索引的唯一方法是按顺序。但是,您始终可以从表
属性中选择一个,如.ID
、.Title
或.Descr
来构建自己的检索功能。使用.ID
它可能看起来像这样:
Private Function GetTableById(seeking As String) As Table
Dim i As Long
With ThisDocument
For i = 1 To .Tables.Count
If .Tables(i).ID = seeking Then
Set GetTableById = .Tables(i)
Exit Function
End If
Next
End With
End Function
Dim foo As Table
Set foo = GetTableById("bar")
If Not foo Is Nothing Then
'...
这样称呼:
Private Function GetTableById(seeking As String) As Table
Dim i As Long
With ThisDocument
For i = 1 To .Tables.Count
If .Tables(i).ID = seeking Then
Set GetTableById = .Tables(i)
Exit Function
End If
Next
End With
End Function
Dim foo As Table
Set foo = GetTableById("bar")
If Not foo Is Nothing Then
'...
为了帮助回答您的问题,请准确描述(如果您手动执行此操作)在查看每个模板时如何知道哪个表是正确的。