vba - 使用 Excel VBA 替换 MS Word 10 中的关键词
问题描述
我无法通过 Excel VBA 替换 MS Word 10 中的关键词。我可以从 Excel 打开 Word 文档并找到目标关键词但不能替换它们。看来我错过了什么。
我的代码是:
Sub ReplaceValues()
Dim wApp As Object
Dim wDoc As Object
Set wApp = CreateObject("Word.Application")
wApp.Visible = True
wApp.Activate
Set wDoc = wApp.Documents.Add(Template:="C:\doc.docm", NewTemplate:=False, DocumentType:=0)
With wDoc
.Application.Selection.Find.Clear.Formatting
.Application.Selection.Find.Replacement.ClearFormatting
.Application.Selection.Find.Text ="vGameName"
.Application.Selection.Find.Replacement.Text = "vTest"
.Application.Selection.Find.Forward = True
.Application.Selection.Find.Wrap = wdFindContinue
.Application.Selection.Find.Execute Replace>=wdReplaceAll
End With
End Sub
谁能帮我这个?
谢谢,
卡洛斯
解决方案
您正在使用命名的 Word 常量,这些常量可用于早期绑定(并且需要设置对 Word 库的引用),但是您使用 'Dim wApp As Object' 和 'Dim wDoc As Object' 意味着使用 late捆绑。尝试:
Sub ReplaceValues()
Dim wApp As Object, wDoc As Object, strFnd As String, strRep As String
Set wApp = CreateObject("Word.Application")
strFnd = "vGameName": strRep = "vTest"
With wApp
.Visible = True
Set wDoc = .Documents.Add("C:\doc.docm")
With wDoc
.Range.Find.Execute strFnd, , , , , , True, 1, , strRep, 2
End With
End With
End Sub
推荐阅读
- reactjs - 我设置了一个回调来触发循环反应,但我不明白为什么?
- c# - 必须是 Collison2D 类型,但我的代码与 Collison 无关
- javascript - 对自定义 react-select 样式对象的内联更新
- javascript - Google Apps 脚本返回 null
- python - 使用 Alamofire 连接到本地主机服务器(python)
- reactjs - 为什么我的 React 应用程序没有部署在 GitHub 上
- sql - 在 SQLite 中查询多个表时如何累积匹配?
- html - 图片VUE中“src”的动态变化
- php - 文件/媒体无法通过 Codeignitator 中的 URL 公开访问
- php - 为什么 authorize() 不能像在开发环境中那样在生产环境中工作?