簡體   English   中英

activex組件無法使用word.application創建對象錯誤

[英]activex component can't create object error with word.application

我正在使用下面提到的代碼在word中復制一些值,然后將其復制回excel。

但是得到

運行時錯誤429 Activex組件無法創建對象。

在格式化系統之前,同一段代碼一直在工作。 但是,在新安裝后,此方法無法正常工作,並且出現錯誤。

 Sub Word()
    Application.DisplayAlerts = False
    Dim ws As Worksheet
    Dim Path As String
    Dim objWord As Object
    Dim objDoc As Object

    Path = ActiveWorkbook.Path
    Set inv = Workbooks.Open(Path & "\inv.xls")
    Set test = Workbooks.Open(Path & "\test.xlsx")
    Set ws = inv.Sheets("inv")
    Set Wb = test.Sheets("Sheet1")
    ws.Range("A1").Copy
    Set objWord = CreateObject("Word.Application") <---The error is here
    Set objWord.Visible = True
    Set objDoc = objWord.Documents.Open(Path & "\test.docx")
    objWord.Selection.Paste
    Application.CutCopyMode = False
       objDoc.Range(0, objDoc.Range.End).Copy
    Wb.Range("A1").Select
    ActiveSheet.Paste
    inv.Close Savechanges:=False
    test.Close Savechanges:=True
    objWord.ActiveDocument.Close Savechanges:=wdDoNotSaveChange
    objWord.Quit
    Set objWord = Nothing
    Set objDoc = Nothing
    End Sub

您為該錯誤指示的行似乎正常(只要安裝了長字,我確定是這樣)。

...Set objWord.Visible = True..行是不好的: ...Set objWord.Visible = True.. ,當然,此行將產生錯誤原因,該錯誤原因只是要設置的屬性,而不是對象。 那應該只是一個: objWord.Visible = True 希望這可以幫助。 KR。

請檢查以下鏈接以跟蹤您的錯誤。

Microsoft自動化錯誤幫助

正確處理任何單詞實例,您可以使用輔助函數

Function GetWord(objWord As Object) As Boolean
    On Error Resume Next
    Set objWord = GetObject(, "Word.Application") ' try getting an already running instance of Word
    If objWord Is Nothing Then Set objWord = CreateObject("Word.Application")  ' if no running instance of Word then try setting a new one

    GetWord = Not objWord Is Nothing ' return the function result

    If Not GetWord Then MsgBox "Couldn't get Word", vbCritical ' inform the user that something went wrong

因此您的宏可以如下利用它

Sub Word()
    Dim objWord As Object

    If Not GetWord(objWord) Then Exit Sub

    objWord.Visible = True

    ... rest of your code
    End Function

在嘗試此解決方案之前,您應該關閉excel實例並運行新的Excel表單草稿,以免遭受先前嘗試散布的任何殘留單詞實例的困擾

如果所有這些都不能解決問題,那么您必須更深入地檢查...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM