2017-05-11 17 views
0

私は以下のコードを使用して、Word文書の特定のテキストを置き換えてコピーを保存します。ここでVBAは単語文書の特定のテキストを置き換えますか?

は私のコードです:

Sub Macro1() 
Dim app As Word.Application 
Dim doc As Word.Document 

    Set app = CreateObject("Word.Application") 
    app.Visible = True 
    Set doc = app.Documents.Open("G:\QUALITY ASSURANCE\03_AUDITS\PAI\templates\Audit Announcement Template.docx") 


    With app.doc.Content.Find 
      .Text = "Insert Date" 
      .Replacement.Text = "Hello" 
      .Wrap = wdFindContinue 
      .Execute Replace:=wdReplaceAll 
     End With 


    doc.SaveAs Filename:="G:\QUALITY ASSURANCE\03_AUDITS\PAI\templates\Audit Announcement Template2.doc", _ 
    FileFormat:=wdFormatDocument 



    doc.Close 
    app.Quit 

End Sub 

私はこの行のコンパイルエラーを取得:

With app.doc.Content.Find 

誰かが私が間違っているつもりですどこを見せていただけますか?

答えて

1

docappオブジェクトのメンバーであり、作成した変数ではないため、With app.doc.Content.Findは正しくありません。

に変更:With doc.Content.Find

にあなたがの.docxを開き、あなたはおそらく、あなたがする必要があるなどとして保存すると:

doc.SaveAs Filename:="G:\path\file.docx", FileFormat:=WdSaveFormat.wdFormatDocumentDefault 

あなたが早期に(参照によって)のためにそれほど必要性を全く結合されていませんCreateObject()代わりに簡単に:

Set app = new Word.Application 
関連する問題