用程序计算数据,得到不同公司、不同项目的数据结果,最终还要将每个公司的数据结果放在各自的单独文件中。
这就需要在vba中新建、保存excel文件。
掌握几个东西就能很熟练了:
1、要想保存在当前目录下,需要调用thisworkbook.path得到当前文件的目录,得到的就是个string值,如“e:\download”。我通常是先定义一个string变量myPath,然后一上来就myPath=thisworkbook.path进行赋值。
2、新建工作簿的代码就是workbooks.add,我通常也是先定义一个workbook变量myBook,然后赋值,set myBook=workbooks.add。
3、修改工作表的名称了,我还是先定义一个worksheet变量mySheet,然后赋值set mySheet=myBook.sheets("sheet1")。再然后进行命名,mySheet.name="data"。
4、这里,我一般是让新建的工作簿只有一个工作表。所以,一开始我就会设定application.sheetsinnewworkbook=1。这样子新建出来的workbook就只有一个sheet了。
5、计算完成之后就是保存了。就要调用activeworkbook.saveas。最好都是写包含目录和文件扩展名在内的文件全名。不容易错。前面不是已经得到当前目录了,就是myPath。我一般也是先设定一个string变量myFileName,然后赋值,myFileName=myPath & "\" & "某某某.xlsx"。这里提醒一下的是,(1)不要漏了“\”;(2)连接符&左右都要加空格,要不然vba编译出问题,亲身体验。
6、关闭文件,调用activeworkbook.close。我一般会让它保存修改内容,就是activeworkbook.close savechanges:=true。免得会出现提示。
7、如果批量新建,套在for语句里吧。