Próbuję zapisać dokument Worda za pomocą programu Excel VBA, ale pojawia się błąd "Składnik ActiveX nie może utworzyć obiektu".Błąd wykonania "429": Składnik ActiveX nie może utworzyć obiektu VBA
Po debugowaniu błąd pochodzi z wiersza: Set wrdApps = CreateObject("Word.Application")
. To działało dobrze, ale potem zaczęło dawać mi ten błąd. Czy ktoś wie, jak to naprawić? Dzięki za pomoc!
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
** [Ten post] (http://www.ozgrid.com/forum/showthread.php?t=50936) ** na OzGrid może pomóc. Jedyną różnicą, jaką widziałem z tego, co masz, jest to, że wrd. Apki będą ustawione jako Word.Application i wrd.Doc będą ustawione jako Word.Document. – chuff
spróbuj uruchomić naprawę w pakiecie Office i zrestartuj komputer ... kod, który masz 'CreateObject (" Word.Application ")' powinien działać dobrze –
, jeśli obiekt, który próbujesz "zdobyć" ma podwyższone uprawnienia. zwróci błąd 429 - nie otwieraj jako administrator – Hightower