我做了个excel,里面大多是自动运行的,其中有个自动另存为的功能,文件名以时间保存,如果只打开一个工作薄,程序、数据一切正常。当另保存后,打开之前保存的工作薄观察数据,这个正在运行的工作薄程序数据就发生混乱。
有没有方法,使他们相互不影响?因为文件名是改变的,所以不可以指定workbook的名字
重新描述下:我做了个excel,里面大多是自动运行的,其中有个自动另存为的功能,文件名以时间保存,不会发生重复,如果只打开一个工作薄D,程序、数据一切正常。当另保存成E后,打开之前保存的A、B、C或者D工作薄,查看数据,这个正在运行的B工作薄程序数据就发生混乱。
可以在另存为命令之前加条件,以下仅供参考(个人认为第4个比较实用):
1.判断需要另存的文件名在要保存的路径中是否存在,如果存在则不另存;
2.判断需要另存的文件名是否已经打开,如果已打开则不另存;
3.调用活动窗口的文件名,提取文件名中的日期部分,再对此部分进行判断,与系统时间差超过一定范围则不再另存;
4.已打开的工作薄数量超过一个时不允许另存。
1.判断需要另存的文件名在要保存的路径中是否存在,如果存在则不另存;
2.判断需要另存的文件名是否已经打开,如果已打开则不另存;
3.调用活动窗口的文件名,提取文件名中的日期部分,再对此部分进行判断,与系统时间差超过一定范围则不再另存;
4.已打开的工作薄数量超过一个时不允许另存。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-07-01
如果不指定workbook名字,程序就在当前打开的workbook工作,肯定会出错追问
用thisworkbook也不行,出来指定名字外,就没有其他方法了,帮忙在想想,给你最佳
追答先用个变量记录程序要工作的表