में एक खुली कार्यपुस्तिका को बंद करते समय त्रुटि एक सबराउटिन में, मैं एक कार्यपुस्तिका खोलना चाहता हूं, इससे कुछ पढ़ना चाहता हूं, और इसे बंद कर सकता हूं।वीबीए उपयोगकर्ताफॉर्म
Run-time error '1004':
Method 'Close' of object _Workbook failed
मैं इस समस्या पुन: पेश करने के लिए एक न्यूनतम कोड स्निपेट पहचान की है:
किसी कारण के लिए, मैं कोई त्रुटि मिलती है।
एक नई एक्सेल फ़ाइल बनाएं। इसमें, उपयोगकर्ताफॉर्म बनाएं। कि पर, निम्नलिखित क्लिक करें घटना कोड के साथ एक कमांड बटन बनाने के लिए:
Private Sub CommandButton1_Click()
Dim filename As String
Dim opened_workbook As Workbook
filename = Application.GetOpenFilename() ' User selects valid Excel file
Set opened_workbook = Application.Workbooks.Open(filename)
' File operations would occur here
opened_workbook.Close ' Exception thrown here
MsgBox "If you got here, it worked!"
Unload Me
End Sub
क्या वास्तव में मुझे perplexes कि इस त्रुटि को एक सादे पर एक ही कोड के साथ ऐसा नहीं होता है जब कमान बटन एक userform पर नहीं है (है सीधे वर्कशीट पर बटन)।
मुझे यह भी पता नहीं है कि इस व्यवहार को समझने के लिए और कहां देखना है (StackOverflow!)। मैं मैक 2011 के लिए एक्सेल का उपयोग कर वीबीए लिख रहा हूं और यदि यह एक फर्क पड़ता है तो विंडोज एक्सेल 2010 में जा सकता है।
एफडब्ल्यूआईडब्ल्यू, आपका कोड विंडोज़ एक्सेल 2010 पर उपयोगकर्ता फॉर्म (और सादे कोड के रूप में) के लिए मेरे लिए काम करता प्रतीत होता है। – stephan
डारन :(मुझे लगता है कि मुझे इसे विंडोज़ पर अभी परीक्षण करना चाहिए। हालांकि मुझे एक समाधान देखना अच्छा लगेगा जो विंडोज और मैक दोनों के लिए काम करता है। –