在MS Word表中,如何分别定位光标位置和鼠标光标位置

时间:2017-01-04 12:15:06

标签: vba ms-word cursor

我有一个Word表,我想在其中隐藏或显示特定列中的文本。我已经写了一个宏链接到标题行中的复选框。勾选框应该隐藏光标所在行的列中的文本。当我测试VBA时,宏工作正常,但是当我使用勾选框运行它时,代码“认为”相关行是勾选框所在的标题行。

如何在宏中传递正确的行索引(即选中的行,文本光标位于勾选复选框之前)?

也许正确的问题是:如何区分文本中的光标位置(在Word表格中)和鼠标光标位置?

这是宏代码......

Private Sub CheckBox1_Click()     致电HideOrRevealAnswer 结束子

Sub HideOrRevealAnswer()

Dim iCellRange As Range
Dim iColStart, iColEnd As Integer
Dim iRow As Integer

iColStart = 4 'column for Answers
iColEnd = 5 'column for Explanation

With ActiveDocument
    iRow = Selection.Cells(1).RowIndex
    Set iCellRange = .Range(Start:=.Tables(1).Cell(iRow,iColStart).Range.Start, _
        End:=.Tables(1).Cell(iRow, iColEnd).Range.End)
    iCellRange.Select
End With

With iCellRange
    Select Case .Font.Color
        Case wdColorAutomatic
            .Font.Color = wdColorWhite
        Case wdColorWhite
            .Font.Color = wdColorAutomatic
    End Select
End With

End Sub

0 个答案:

没有答案