设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

深入剖析Excel2000的自动保存

1970-1-1 08:00| 发布者: Kevin Zhou| 查看: 1327| 评论: 0

关于《中国电脑教育报》第27期《设置Excel的自动保存》一文,黄花菜在此有几点需要进行更正和补充:
    一、Excel2000的自动保存并非没有时间限制,而必须为1到32767分钟之间(当然,在笔者看来,这个时间如果超过30分钟就显得没有意义了)。之所以会有没有时间限制的假象,完全是因为下一点中所讲到的Bug导致的;
    二、鲜为人知的是, Excel2000 中的自动保存加载宏有一个重大BUG,它不能保留用户关于自动保存的任何设定。用户在设置自动保存间隔时间或其他选项以后,如果再次启动Excel,就会发现Excel显示的自动保存间隔时间仍然是其默认的10分钟。当然,如果你对微软的这个默认设置非常满意的话,就不必再往下看了。
    三、在笔者接着讲怎样解决这个BUG之前,想先向大家介绍一下Excel2000的自动保存功能是如何进行工作的。
    1、在用户第一次加载“自动保存”加载宏后,Excel会在退出之时在注册表中\\HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel\ 下新建一个名为Autosave的主键,该主键下有四个键值:Frequency,Options,Prompt和Save。这个主键并不会随着用户卸载掉“自动保存”加载宏而被删除(现在明白为什么Windows的注册表越来越大了吧,连微软自己的东西都会留下一些垃圾!)。用户每次修改过有关自动保存功能的设置后,Excel在退出之时都会把相应数据写入到这四个键值中去。在下一次Excel启动之时,再通过读取这四个键值的值来恢复用户最后一次的设置内容。当然,用户的任何设置都是即时生效的,只不过暂时保存在内存中而已。Frequency是关于自动保存间隔时间的键值,Options保存着自动保存对象的设置,Prompt用于设置保存前是否提示,而Save则控制着自动保存功能是否有效。
    2、在Excel2000里,自动保存间隔时间的下限是1分钟,上限则较以前版本宽松得多,最多可以为32767分钟。其实,这是因为Excel2000把这个数值设置为正整数的缘故。程序员们应该非常清楚一个Integer变量的取值范围(-32768到32767之间)吧!
    3、熟悉Windows注册表的朋友应该知道,此分支下的所有内容在\\HKEY_USERS\.DEFAULT\Software\Microsoft\Office\9.0\Excel\下也保存了一份。
    4、你可以马上就在上文所说的注册表中相应位置进行查找,是不是什么也找不到?终于明白Excel为什么无法保存关于自动保存的任何设定了吧!
    四、现在我们知道了Excel2000的自动保存加载宏的全部工作过程,那么应该怎样解决这个BUG呢?有的朋友可能已经准备要动手了,“照着你所说的,我把注册表改一下不就行了?”嘿嘿,我可告诉大家,此法无效!因为BUG就出在自动保存加载宏不但不写这几个键值,它也不读这几键值上。那怎么办?别急,微软对此已经发布了一个补丁文件,即一个重新编写过的自动保存加载宏。
    升级的方法非常简单,先将该文件下载到电脑中,(如果您使用的操作系统是 Windows NT Server, 那么您必须先用管理员的帐号登录)。然后从您的硬盘上双击 AutoSave.exe 文件并按屏幕提示运行此程序。如果你此时已经打开了Excel2000则先将它关闭,并用新的自动保存加载宏替换掉原有的自动保存加载宏即可。再次打开Excel2000之后,就可以在自动保存功能中进行任何设置而不必担心这个设置不会被保存下来了。
    Excel的自动保存的确是个好东东,但如果你使用的是Excel2000的话,还是在本站“工具仓库”中下载这个补丁吧!

最新评论

相关分类

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-11 20:45 , Processed in 0.068101 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部