首页 文章

如何在VBA中获取所选文本

提问于
浏览
1

我有一个宏来更改所选文本,我将它分配给一个按钮 .

当我直接从visual basic运行它时,它工作得很好,但当我单击按钮时,按钮获得焦点,我的文本不再被选中,因此宏将所选元素更改为(按钮) .

如何选择文本并通过单击按钮运行宏仍然选择了文本?

3 回答

  • 3

    执行此操作的方法是将CommandButton的 TakeFocusOnClick 属性设置为 False . 这是我使用的代码 .

    Private Sub CommandButton1_Click()
        Dim Sel As Selection
        Set Sel = Application.Selection
        If Sel.Type <> wdSelectionIP Then
            MsgBox Sel.Text
        End If
    End Sub
    
  • 4

    按钮是否嵌入文档中?您可能需要将其放在加载到Word窗口顶部或菜单/工具栏中的表单上,以便单击它不会影响文档本身的选择 .

    Edit:
    我想你可以用 Application.Selection.Previous 来获得你需要的东西 . 您可以使用此选项在单击事件后恢复选择,或者对文档的该部分执行操作,或两者都执行 .

    我认为这在以前版本的Word中可用,但仅在2007年确认其存在 .

  • 1

    您需要在按钮首选项中将TakeFocusOnClick更改为“False” .

相关问题