Devarajan遇到工作簿损坏的情况,但是他想恢复与该工作簿关联的宏模块。 (宏代表了相当多的开发时间。)

Devarajan想知道如何恢复该模块。

答案在很大程度上取决于工作簿的实际损坏程度以及该损坏在工作簿中的位置。关于如何恢复损坏的工作簿的文章很多。在这方面,以下资源将是您感兴趣的:

http://support.microsoft.com/?kbid=820741 http://www.jkp-ads.com/Articles/CorruptFiles.asp

这些页面专门涉及恢复数据,而不是恢复与工作簿关联的模块中的宏。您可以尝试获取宏的一件事如下:

。打开Excel,但不打开问题工作簿。

。将计算模式设置为手动(“公式”选项卡|“计算”组|“计算选项” |“手动”)。

开发人员选项卡” |代码组|宏安全性|宏设置|禁用所有宏而无须通知)。

。打开麻烦的工作簿。如果成功打开,您应该会看到一个宏被禁用的通知。 (如果工作簿没有打开,那么您最好关闭Excel;这一系列步骤将不起作用。)

。按Alt + F11以显示VBA编辑器。

。在项目资源管理器中,找到要保存的模块。

。右键单击模块名称,然后选择“导出文件”。

。提供保存模块的名称和位置。

。关闭VBA编辑器,然后退出Excel。

。将模块保存在自己的文件中后,您现在可以根据需要将其导入到另一个工作簿中。

尝试恢复的另一种方法是使用Microsoft Office的免费替代品OpenOffice。 OpenOffice中的电子表格程序将打开Excel文件,并且它对某些损坏问题不那么敏感。

如果仍然不能解决问题,请尝试使用低级文件操作工具,该工具可让您从磁盘中逐个扇区地读取文件,然后查看每个扇区中的信息。对于大多数类型的文件,这不会很有帮助。实际上,它不会帮助您从Excel工作簿中恢复任何数据。但是,恢复宏是另一回事。它们以纯ASCII文本存储在工作簿中,因此您应该能够识别宏代码,然后从磁盘工具中将其复制。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(12712)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: