[英]VBA Compile Error: Argument Not Optional on Find
我的最終目標:擁有 Excel_Doc_A 和 Word_Doc_A。 Excel_Doc_A 將使用 VBA 來引用 Word_Doc_A,查找某些文本值(在本例中為“ TITLE ”),在該文本字段中插入超鏈接,並將文本更改為 Excel_Doc_A 中指示的內容,然后將 Word_Doc_A 保存為 NEW文件 Word_Doc_B,其中包含所有文本替換和超鏈接。
我的代碼如下。 我收到一個錯誤“編譯錯誤:查找時參數不是可選的”。 產生此錯誤的代碼是
.Find
在線上
Set myFind = myRange.Find
有任何想法嗎? 謝謝!
Public Sub testing_1()
Dim documentApplication As Word.Application
Dim documentDocument As Word.Document
Set narApplication = CreateObject("word.application")
Set narDocument = narApplication.Documents.Open(ThisWorkbook.Path & "/document_template.docx")
Dim TITLE As String
Dim myRange As range
Dim myFind As Find
Dim filePath As String
TITLE = range("B1")
'For each value, find it's value in the blankdocument
Set myRange = narDocument.Content
Set myFind = myRange.Find
With myFind
.Text = "__TITLE__"
searchResult = .Execute
.Replacement.Text = TITLE
End With
narDocument.Hyperlinks.Add Anchor:=myRange, Address:="http://www.google.com", TextToDisplay:="__TITLE__ "
filePath = ThisWorkbook.Path & "/document_test.docx"
narDocument.SaveAs2 Filename:=filePath
'Cleanup
narDocument.Quit False
Set narApplication = Nothing
Set narDocument = Nothing
End Sub
Dim myRange As Range
隱含As Excel.Range
。 您會收到編譯錯誤,因為Set myFind = myRange.Find
引用了Excel Range.Find
方法。 您需要來自Word object model 的成員。
早期綁定:
Dim myRange As Word.Range
Dim myFind As Word.Find
后期裝訂:
Dim myRange As Object
Dim myFind As Object
最好是一致的。
早期綁定:
Dim documentApplication As Word.Application
Dim documentDocument As Word.Document
Set narApplication = New Word.Application
后期裝訂:
Dim documentApplication As Object
Dim documentDocument As Object
Set narApplication = CreateObject("word.application")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.