2个月前我问过这个问题:启用宏的 Excel 文件上的自动保存文件错误
感谢@YowE3K,他向我推荐了 Workbook_Open 事件,因为当我尝试恢复(重新打开)文件时出现问题。今天我深入研究了一下,发现我得到的原因是:
Run-time error '9'
Subscript out of range
错误是:
Windows(ThisWorkbook.Name).Visible = True
我不知道它是如何变成 False 的,但是,当我尝试打开自动恢复文件时,我意识到文件正常打开,我的表单正常打开,但是当表单消失时,错误出现,文件名对 Microsoft Excel 进行更改后,所有内容都从屏幕上消失,所有 Excel 功能区冻结,我只能转到“开发人员”选项卡,情况没有任何改变。
所以我认为,Excel 以某种方式无法在表单(我的 Excel 启动屏幕)消失后将 Windows(ThisWorkbook.Name).Visible 变为 True。
我怎样才能避免这种情况?我不想删除精美的启动画面,但有时我也需要使用自动恢复文件。
Microsoft 页面上的类似问题
and
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)