用ThisWorkbook.SaveCopyAs ()另存文件后就不会打开刚存的文件,可以继续处理原来的文件
workbooks("工作薄名称.xls").close SaveChanges:=True 关闭指定的工作薄,保存更改
workbooks("工作薄名称.xls").close SaveChanges:=False 关闭指定的工作表 不保存更改
要继续使用,只是暂时无视,可参:
1. 可以Windows("myname").WindowState = xlMinimized, 使最小化,需要时再最大化
2. 或者,通常做法,将该工作薄赋给一变量如 Set wb = GetObject("XXX.xls"), 后台打开,需要时直接引用wb对象即可,对其进行显示隐藏关闭等操作。
咱们能不能换个想法,即处理后保存的文件,然后再另存为一份,对另存为的进行继续处理.这样实现起来比较方便一些:
记得在另存为前,先执行一下 activeworkbook.save,以便把你修改的结果保存下来(成为你题目中需要的另存为文件)
下面是另存为的代码(然后对另存为的文件进行处理)
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\admin\桌面\1051616.xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False