我有一個宏可以改變所選擇的文本,並將它分配給一個按鈕。如何獲得VBA中的選定文本
它完美,當我直接從Visual Basic中運行它,但是當我點擊該按鈕,該按鈕獲得焦點和我的文字不再被選中,因此宏觀變化選擇的元素(按鈕)。
如何通過單擊按鈕選擇文本並運行宏,並仍然選擇了文本?
我有一個宏可以改變所選擇的文本,並將它分配給一個按鈕。如何獲得VBA中的選定文本
它完美,當我直接從Visual Basic中運行它,但是當我點擊該按鈕,該按鈕獲得焦點和我的文字不再被選中,因此宏觀變化選擇的元素(按鈕)。
如何通過單擊按鈕選擇文本並運行宏,並仍然選擇了文本?
該按鈕是否嵌入在文檔中?您可能需要將其放在Word窗口頂部或菜單/工具欄上的窗體上,以便點擊它不會影響文檔本身的選擇。
編輯:
我認爲你可以使用Application.Selection.Previous
得到你所需要的。您可以使用它在單擊事件之後恢復選擇,或者對文檔的該部分或兩者進行操作。
我認爲這是在Word的早期版本,但只確認了其在2007年
存在這樣做的方法是在命令按鈕的設置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
您需要將按鈕首選項中的TakeFocusOnClick更改爲「False」。
是的,按鈕被嵌入到文檔中。當我添加按鈕頂部菜單它的作品,但我不得不使用嵌入式按鈕(講師的要求) – Ethylparaben 2010-01-16 08:56:56