【发布时间】:2020-01-23 23:37:12
【问题描述】:
我有一个带有文本的 word doc,其中还有一个显示这种格式的日期文本:
text text text 17.01.2020 text text text.
我想用 Excel 中的一个单元格替换上述日期文本,该单元格也是一个类似于 18.01.2020 的日期。
所以 VBA 代码应该执行以下操作:
1.打开word文档
2.查找文本并将其替换为 Excel 中的文本
3.保存Word文档。
Sub DocSearchandReplace()
Dim wdApp As Object, wdDoc As Object
Set wdApp = CreateObject("word.application")
wdApp.Visible = True
Set wdDoc = wdApp.Documents.Open("C:\sampletest.docx")
With wdDoc.Content.Find
.Date = "???"
.Replacement.Cell = "referencing a cell from Excel??"
.Wrap = wdFindContinue
.Execute Replace:=wdReplaceAll
End With
wdDoc.Save 'it however always prompt a word warning, how to surpress it?
wdDoc.Close 'it only closes the doc inside Word without closing the whole program.
Set wdApp = Nothing: Set wdDoc = Nothing
End Sub
我不确定在 .Date 和 .Replacement.Cell 部分应该写什么。
【问题讨论】:
-
“有人可以帮助使用 VBA 实现上述步骤吗?” 实际上正是这种情况,这不是一个真正的问题(请参阅我上面评论中的链接)。也只是说 “它不工作” 不是错误描述。 • 请描述您的代码有什么问题、什么已经在工作以及您在哪里遇到错误?您的代码与您的预期有何不同?你到底卡在了哪一部分?您的代码中的哪些问题阻止您实施它? • 另外我认为
.Date = "???"中不存在.Content.Find -
这正是我不知道怎么写的。我用了 ???表明我不知道该写什么。我真的不知道你想让我表现出我在那个部分中迷失了多少。希望我的编辑这次有效吗?我很欣赏你的建议,但我问过这样的问题没有任何问题。我想我已经足够精确了。如果你不知道答案,那很好。请让其他人回答我的问题。谢谢。