1
我是VBA新手;我試圖創建一個應用程序,當文本在文檔中被替換時,我想放置文本並能夠執行自動文本命令(F3)。替換並執行自動文本
我的問題是更換光標丟失後,我收到一條消息,指出沒有有效的代碼可供選擇。有人可以幫助嗎?
我使用下面的代碼:
Sub VbaAutomation()
With Selection.Find
.ClearFormatting
.Text = "-A11"
.Replacement.ClearFormatting
.Replacement.Text = ""
.Execute Replace:=wdReplaceAll, Forward:=True, _
Wrap:=wdFindContinue
.Execute
SendKeys "{F3}"
End With
End Sub
更好的解決方案可以代替替換文本和執行代碼。
我想執行宏,它用自動文本代碼替換任何構建塊代碼。例如,我的word文檔有ABCD, CDEF
代碼,宏自動遍歷構建模塊代碼並將其替換爲精確的自動文本代碼段落。
我並不完全理解你的意圖,但指出沒有人似乎想告訴你我冒昧問題F3與你想達到的目標有什麼關係。您的代碼會在選定的文本中查找「-A11」,並用「」替換它。沒有提及「構建模塊代碼」或「自動文本代碼」,並且如果F3在某種程度上與這些或兩者中的任何一個相關,則與其所找到的代碼的其餘部分無關。對於它的價值:你應該接受你的概念將允許用「」替代「-A11」。而已。 – Variatus
謝謝是的F3是運行自動文本和積木。我想替換-p1,以便我可以執行積木 – Nick
我們正在談論對方。 (1)F3調用一個程序。在VBA中,如果你想調用一個程序,你需要知道它的名字。但是,我很確定F3調用的程序不是VBA宏。因此你必須使用適當的VBA語法來調用它來運行它的程序。 (2)如果您希望用構件塊替換文檔中的佔位符,則需要指定構件塊,找到佔位符並進行替換。如果您可以將構建塊加載到「Find」方法的'Replacement.Text'屬性中,那麼可以使用您的代碼版本來達到此目的。 – Variatus