一、新建工作簿
1、新建臨時工作簿
Workbooks.Add
ActiveWorkbook.SaveAs 'c:\123.xlsx'
2、使用變量新建工作簿
Dim Wb As Workbook
Set Wb = Workbooks.Add
Wb.SaveAs Filename:='c:\123.xlsx'
兩個代碼都可以新建一個名稱為123.xlsx的工作簿,并保存在C盤。
代碼2使用變量,將工作簿賦值給Wb變量,更加靈活。
新建工作簿后,該工作簿就成為了當(dāng)前活動工作簿,然后保存工作簿的時候,
需要選擇路徑保存在那里,但工作簿并沒有關(guān)閉,需要手工關(guān)閉。
Filename:='c:\123.xlsx' 中的Filename:=可以省略。
二、SaveAs方法
新建工作簿的時候,需要保存工作簿,一般使用SaveAs方法。
該方法的官方文檔為下列鏈接:
https://msdn.microsoft.com/zh-cn/VBA/Excel-VBA/articles/workbook-saveas-method-excel
SaveAs方法相當(dāng)于我們保存工作簿的操作,在官方說明中可以看到,其后面的參數(shù)都可以省略,省略參數(shù)的一些示例如下:(建議寫全路徑)
ActiveWorkbook.SaveAs ‘默認(rèn)路徑下保存工作簿,自動重命名
ActiveWorkbook.SaveAs '新建' ‘默認(rèn)路徑下保存工作簿,并命名為“新建”
ActiveWorkbook.SaveAs 'D:\新建.xlsx' ‘在D盤下保存工作簿,并命名為“新建”
SaveAs保存對工作簿所做的更改。
所以在關(guān)閉工作簿的時候,并沒有彈出提示常見的保存更改提示(類似下圖)。
保存工作簿更改的另一個方法是:Workbook.Save,也就是常見的保存操作。
當(dāng)然在新建工作簿的時候也可以使用,但不指定路徑,需另外指定。
下面Gif:在C盤新建一個名稱為“456.xlsx”工作簿,并在該工作簿的sheet1工作簿的單元格A1輸入“套路Excel”。
注意,SaveAs方法保存了工作簿更改,但該程序并沒有關(guān)閉工作簿。在最后手工關(guān)閉工作簿的時候,
并沒有是否保存工作簿更改,可以看出SaveAs是保存了工作簿的更改的。
三、什么是路徑?
如圖:路徑就是類似 C:\Users\Public的地址, 注意是 \ 不是 / 。
在新建工作簿的時候,指定路徑保存工作簿,必須確保路徑存在,否則出錯。
如保存路徑為: 'c:\123\456.xlsx' ,C盤肯定是存在的,但名稱為“123的文件名如果不存在,就會出錯。
四、工作簿的復(fù)制和刪除
復(fù)制工作簿:從一個路徑復(fù)制到另外一個路徑(路徑必須存在)
'復(fù)制C盤456.xlsx文件到C盤789文件夾里面,并重命名為123.xlsx。
FileCopy 'c:\456.xlsx', 'c:\789\123.xlsx'
Kill 'c:\123.xlsx' '刪除文件
五、練習(xí):拆分表格為工作簿
在文章 :VBA簡單入門20:刪除工作表
我們練習(xí)過拆分表格為工作表的練習(xí),現(xiàn)在改為按產(chǎn)品拆分表格為新的工作簿。
參考代碼:(大部分代碼相同,將保存為工作表的代碼修改為保存為工作簿的代碼即可)
涉及到工作簿的操作為:
新建工作簿--導(dǎo)入拆分的表格數(shù)據(jù)--保存工作簿到指定路徑--關(guān)閉工作簿。
紅色方框內(nèi)的代碼完成了上述的操作。
sname = .Range('g' & i) & '.xlsx' '工作簿名稱為產(chǎn)品名稱
Set wb = Workbooks.Add '新建工作簿
Rng1.Copy wb.Sheets('sheet1').[a1] '導(dǎo)入拆分的數(shù)據(jù)
wb.SaveAs 'c:\123\' & sname '保存工作簿在C盤的123文件夾里
wb.Close '關(guān)閉工作簿(SaveAs已保存工作簿更改)
Excel文件下載請移步到VBA簡單入門20:刪除工作表 下載。
聯(lián)系客服