使用VBA可以通过表数以外的方法指定和定位docx文件中的特定表

使用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)

我有一个access数据库,用于填充各种docx模板。这些docx文件中会出现相同的表,但其位置(相对于其他表)在每个文件中都不相同。是否有一种方法可以将标签或名称分配给表格,以便VBA可以通过这种方法而不是通过正常的表格编号来定位它?

通过
集合对它们进行索引的唯一方法是按顺序。但是,您始终可以从
属性中选择一个,如
.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
    '...

为了帮助回答您的问题,请准确描述(如果您手动执行此操作)在查看每个模板时如何知道哪个表是正确的。