2013-06-26 100 views
6

Excel VBAを使用してWord文書を保存しようとしていますが、「ActiveXコンポーネントでオブジェクトを作成できません。実行時エラー '429':ActiveXコンポーネントがオブジェクトVBAを作成できません

私がデバッグするとき、エラーは、行:Set wrdApps = CreateObject("Word.Application")から来ています。 正常に動作しましたが、このエラーが発生し始めました。誰もがこれを修正する方法を知っていますか?助けてくれてありがとう!

Sub saveDoc() 

Dim i As Integer 
For i = 1 To 2661: 
    Dim fname As String 
    Dim fpath As String 

    With Application 
     .DisplayAlerts = False 
     .ScreenUpdating = False 
     .EnableEvents = False 
    End With 

    fname = ThisWorkbook.Worksheets(3).Range("H" & i).Value 
    fpath = ThisWorkbook.Worksheets(3).Range("G" & i).Value 

    Dim wrdApps As Object 
    Dim wrdDoc As Object 

    Set wrdApps = CreateObject("Word.Application") 

    'the next line copies the active document- the ActiveDocument.FullName 
    ' is important otherwise it will just create a blank document 
    wrdApps.documents.Add wrdDoc.FullName 

    Set wrdDoc = wrdApps.documents.Open(ThisWorkbook.Worksheets(3).Range("f" & i).Value) 
    ' do not need the Activate, it will be Activate 
    wrdApps.Visible = False 

    ' the next line saves the copy to your location and name 
    wrdDoc.SaveAs "I:\Yun\RTEMP DOC & PDF\" & fname 

    'next line closes the copy leaving you with the original document 
    wrdDoc.Close 

    On Error GoTo NextSheet: 
NextSheet: 
    Resume NextSheet2 
NextSheet2: 
Next i 

With Application 
    .DisplayAlerts = True 
    .ScreenUpdating = True 
    .EnableEvents = True 
End With 

End Sub 
+0

** [この投稿](http://www.ozgrid.com/forum/showthread.php?t=50936)** OzGridについて**役に立つかもしれません。あなたが持っているものとの違いは、wrd.AppsがWord.Applicationとして設定され、wrd.DocがWord.Documentとして設定されるということだけです。 – chuff

+0

Officeで修復を実行して、PCを再起動してください。あなたが取得しようとしているオブジェクトが特権を持っている場合は、 'CreateObject(" Word.Application ")'コードはうまく動作するはずです –

+0

。それは429エラーを返します - 管理者としてオープンしていません – Hightower

答えて

0

wrdDocは初期化されていますか?オブジェクトが設定される前にwrdDocを使用しようとしていますか?

wrdApps.documents.Add wrdDoc.FullName 
Set wrdDoc = wrdApps.documents.Open(ThisWorkbook.Worksheets(3).Range("f" & i).Value) 

最初の行はコメントのようにActiveDocument.FullNameにする必要がありますか?だから、:あなたは、Microsoft Excelのオブジェクトライブラリとツール>参照、彼らが登録されていることに刻まMicrosoft Officeのオブジェクトライブラリを持っている

wrdApps.documents.Add ActiveDocument.FullName 
0

チェック。

これらのチェックマークが付いている場合は、Officeのインストールが何らかの形で破損していないことを確認するために、Excelヘルプメニューから検出と修復を実行する必要があります。

関連する問題