2 个月前我问过这个问题:启用宏的 Excel 文件上的自动保存文件错误
感谢@YowE3K,他向我推荐了 Workbook_Open 事件,因为当我尝试恢复(重新打开)文件时出现了问题。今天我深深地专注于它,发现我得到的原因:
Run-time error '9'
Subscript out of range
错误是:
Windows(ThisWorkbook.Name).Visible = True
我不知道它是如何变成 False 但是,当我尝试打开自动恢复文件时,我意识到文件正常打开,我的表单正常打开,但是当表单消失时,错误出现了,文件名更改为 Microsoft Excel,屏幕上的所有内容都消失了,所有 Excel 功能区都冻结了,我只能转到“开发人员”选项卡,情况没有任何改变。
所以我认为,excel 以某种方式无法打开 Windows(ThisWorkbook.Name)。在表单(我的 Excel 启动画面)消失后可见到真。
我怎样才能避免这种情况?我不想删除我喜欢的启动画面,但有时我也需要使用自动恢复文件。
来自 Microsoft 页面和XL2003 的类似问题:在 Workbook_BeforeClose 事件期间更改 ThisWorkbook.Windows().Visible 属性阻止工作簿关闭根本没有帮助我。
代码失败是因为当 Excel 恢复文件时,它会在窗口的标题中添加一些文本,因此“FileName.xlsx”变成了“FileName.xlsx [用户上次保存的版本]”。因此,请使用如下例程:
Sub ShowaWindow(sFileName As String)
Dim oWb as Workbook
For Each oWb In Workbooks
If lCase(owb.Name) = lCase(sFileName) Then
oWb.Windows(1).Visible = True
Exit For
End If
Next
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句