读取当前选中的行

Read currently selected line

(这应该很简单,但不知何故我找不到解决方案。)

我只是想将 selection 的当前行读入 vba 中的一个变量中。我不知道当前段落。 selection 位于该行的最开头。

我的文档是这样的。

首先我select第一排table。然后我向上移动一段。现在这就是我想要的线。正如你在我的第二个img中看到的那样,我只有第一个字符。

For Each tbl In fileInsertRange.Tables
    tbl.Rows(1).Select
    ' save caption
    Selection.Collapse
    Selection.MoveUp WdUnits.wdParagraph, 1

    tableCaption = Selection.Text

如果您想将所有 table 的字幕存储在变量中,请尝试使用此代码。请记住,您需要在 tableCaption 变量被下一个 table 的字幕覆盖之前立即使用它,或者添加一个数组来存储所有字幕。

Sub get_table_caption()

Dim currentTable As Table
Dim tableCaption As String

'Loop through all tables on active document
For Each currentTable In ActiveDocument.Tables

    'Get tables caption and store in a variable called "tableCaption"
    currentTable.Select
    Selection.Collapse
    Selection.MoveUp WdUnits.wdParagraph, 1
    Selection.Expand wdLine
    tableCaption = Selection.Text
    Debug.Print tableCaption

    'Do stuff with the tables caption

Next
End Sub

如果您想通过选择 table 的第一行并找到 table 的标题继续按照自己的方式进行操作,请尝试以下代码:

Sub get_table_caption()

Dim tableCaption As String

    'Get tables caption and store in a variable called "tableCaption"
    Selection.Collapse
    Selection.MoveUp WdUnits.wdParagraph, 1
    Selection.Expand wdLine
    tableCaption = Selection.Text
    Debug.Print tableCaption

End Sub

希望对您有所帮助。祝你好运。