2013-06-26 5 views
6

मैं एक्सेल वीबीए का उपयोग करके वर्ड डॉक्स को सहेजने की कोशिश कर रहा हूं, लेकिन मुझे त्रुटि मिलती है "ActiveX घटक ऑब्जेक्ट नहीं बना सकता।"रन-टाइम त्रुटि '42 9': 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) ** ओज़ग्रिड पर ** मदद कर सकता है। केवल आपके पास जो अंतर है, वह मैंने देखा है कि wrd.Apps को Word के रूप में सेट किया जाएगा। आवेदन और wrd.Doc Word.Document के रूप में सेट किया जाएगा। – chuff

+0

Office पर एक मरम्मत चलाने का प्रयास करें, और अपने पीसी को पुनरारंभ करें ... आपके पास 'CreateObject ("Word.Aplication") कोड है जो –

+0

ठीक काम करना चाहिए यदि आप जिस ऑब्जेक्ट को "प्राप्त करने" की कोशिश कर रहे हैं, वह ऊंचा विशेषाधिकार है। यह 42 9 त्रुटि लौटाएगा - व्यवस्थापक के रूप में नहीं खुलता है – Hightower

उत्तर

0

क्या wrdDoc शुरू हुआ है? क्या आप वस्तु सेट होने से पहले wrdDoc का उपयोग करने की कोशिश कर रहे हैं?

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

क्या पहली पंक्ति ActiveDocument.FullName टिप्पणियों के रूप में होनी चाहिए? तो:

wrdApps.documents.Add ActiveDocument.FullName 
0

चेक आप माइक्रोसॉफ्ट एक्सेल वस्तु लाइब्रेरी और माइक्रोसॉफ्ट ऑफिस वस्तु लाइब्रेरी उपकरण> संदर्भ और वे पंजीकरण किया गया है कि में टिक है।

यदि उन्हें चुना जाता है, तो आपको यह सुनिश्चित करने के लिए Excel सहायता मेनू से पता लगाने और मरम्मत चलाने की आवश्यकता हो सकती है कि Office स्थापना किसी भी तरह से दूषित नहीं हुई है।

संबंधित मुद्दे