繁体   English   中英

VBA从Excel到Word查找并替换错误

[英]VBA from excel to word Find and replace bug

我试图创建VBA宏,该宏复制用户输入的变量并在文本词中搜索特定字段并替换它,我在堆栈溢出和其他论坛中尝试了很多代码,但我没有成功下面的代码可以正常工作,但它没有不要替换单词,代码会搜索该字段并将变量放在旁边。 如果有人有解决方案:D

Sub CreateNewWordDoc()
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Dim i As Integer
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Add
Set wrdDoc = wrdApp.Documents.Open("D:\pfe\DECfinal1.doc")
With wrdDoc
.Application.Selection.Find.Text = "Nombre d'alésage"
.Application.Selection.Find.Execute
.Application.Selection = Sheets("Dec").Range("A2")

End With

End Sub

就像我说的那样,您的代码对我有用。 但是为了安全起见,请使用对象进行操作并直接搜索并替换。 看到这个

Sub CreateNewWordDoc()
    Dim wrdApp As Word.Application
    Dim wrdDoc As Word.Document

    Set wrdApp = CreateObject("Word.Application")
    wrdApp.Visible = True

    Set wrdDoc = wrdApp.Documents.Open("C:\Users\Siddharth\Desktop\DECfinal89.doc")

    With wrdDoc
        For Each rngStory In .StoryRanges
            Do
                With rngStory.Find
                    .Text = "Nombre d'alésage"
                    .Replacement.Text = Sheets("Dec").Range("A2")
                    .Wrap = wdFindContinue
                    .Execute Replace:=wdReplaceAll
                End With
                Set rngStory = rngStory.NextStoryRange
            Loop Until rngStory Is Nothing
          Next
    End With
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM