Ms word MS Word OLE-用图像替换文本。第一块代码有效,第二块则无效
我正在编辑lotusscript中的一些代码,以使用OLE从模板创建word文档,并正在进行查找和替换以添加图像。这适用于第一个图像,但不适用于第二个图像Ms word MS Word OLE-用图像替换文本。第一块代码有效,第二块则无效,ms-word,lotus-notes,ole,Ms Word,Lotus Notes,Ole,我正在编辑lotusscript中的一些代码,以使用OLE从模板创建word文档,并正在进行查找和替换以添加图像。这适用于第一个图像,但不适用于第二个图像 objWord.Selection.Find.Execute "{{image1}}",False, True,,,,, 1,,,,,,, objWord.Selection.Extend If (objWord.Selection.Characters.Count > 1) Then If (signaturefilename
objWord.Selection.Find.Execute "{{image1}}",False, True,,,,, 1,,,,,,,
objWord.Selection.Extend
If (objWord.Selection.Characters.Count > 1) Then
If (signaturefilename = "") Then
objWord.Selection.Find.Execute "{{image1}}", False, True,,,,, 1,, " ", 2,,,,
Else
Call objWord.Selection.InlineShapes.AddPicture(tempdir + "\" + imagefilename, False, True,)
End If
End If
objWord.Selection.Find.Execute "{{image2}}",False, True,,,,, 1,,,,,,,
objWord.Selection.Extend
If (objWord.Selection.Characters.Count > 1) Then
If (signaturefilename = "") Then
objWord.Selection.Find.Execute "{{image2}}", False, True,,,,, 1,, " ", 2,,,,
Else
Call objWord.Selection.InlineShapes.AddPicture(tempdir + "\" + imagefilename, False, True,)
End If
End If
代码的第一部分工作得很完美,但是第二部分并没有像我预期的那样用图像替换第二段文本
我期待第二个Find.Execute来查找第二个文本块,但是它最终替换了文档中的所有文本
有什么明显的事情我忽略了吗
谢谢
A好的-解决了。这是:
objWord.Selection.Extend
这需要删除。虽然第一次没有选择整个文档,但第二次选择了。这项技术现在正完美地发挥作用。谢谢Richard的指点
此外,我还使用了:
objWord.Visible = True
帮助调试。我不太了解Word类,但在我看来,由于第一次操作,您已将选择范围缩小到文档中(最初)包含“{image1}”的部分。所以在你下一次查找。执行之前,你必须展开选择,使其到达文档的末尾。是的,同意。我假设“objWord.Selection.Find.Execute”将退出并查找下一个字符串。我发现微软的文档对这应该如何工作有一点帮助…:(