在一个子程序,我想打开一个工作簿,从中做一些阅读,并关闭它。
出于某种原因,我得到一个错误:
Run-time error '1004':
Method 'Close' of object _Workbook failed
我已经确定了最小的代码片段重现该问题。
创建一个新的Excel文件。 在这里面,创建一个窗体。 关于这一点,创建具有以下Click事件代码命令按钮:
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
真正困扰我的是,当命令按钮是不是在一个窗体(在工作表上的是普通按钮直)这个错误不相同的代码发生。
我甚至不知道看解释这种行为,还有什么报告或地方(除了StackOverflow的!)。 我用Excel for Mac 2011中编写VBA,如果有差别可以移动到Windows Excel 2010中。