vba 宏:我的光标在哪个表中?

San*_*ita 3 vba ms-word

写一个宏我发现我需要跳过表格内容并将光标放在后面,为此我使用了一个代码

     Selection.Tables(cnt).Select
     Selection.Collapse WdCollapseDirection.wdCollapseEnd
Run Code Online (Sandbox Code Playgroud)

在这里,cnt 是一个计数器值,每次找到表时都会增加,但是如果在选择性页面中运行宏,那么我将如何知道我的光标所在的第 n 个表的数量。

Kaz*_*wor 5

重要的!此解决方案允许您在文档中查找当前选定表格的数量。

将此功能添加到您的任何模块:

Function WhichTableNo(RNG As Range)

If RNG.Tables.Count > 0 Then
    Dim DOC As Document
    Set DOC = RNG.Parent

    Dim rngTMP As Range
    Set rngTMP = DOC.Range(0, RNG.Tables(1).Range.End)

    WhichTableNo = rngTMP.Tables.Count
Else
    WhichTableNo = "Not in the table"
End If
End Function
Run Code Online (Sandbox Code Playgroud)

并检查表号,你可以这样称呼它:

debug.Print WhichTableNo(Selection.Range)
Run Code Online (Sandbox Code Playgroud)

因此,您将获得当前所在的表数。