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