【訪問(wèn)工作簿】
對(duì)已經(jīng)打開(kāi)的工作簿,可以通過(guò)使用索引號(hào)來(lái)訪問(wèn)工作簿,也可以通過(guò)名稱來(lái)訪問(wèn)工作簿
【代碼區(qū)域】
Sub 訪問(wèn)工作簿() Dim counter As Integer counter = Workbooks.Count Debug.Print Debug.Print '當(dāng)前打開(kāi)工作簿的數(shù)目為:' & CStr(counter) Debug.Print '按索引號(hào)訪問(wèn)工作簿如下:' Debug.Print '第一個(gè)工作簿是:' & Workbooks(1).name Debug.Print '第一個(gè)工作簿是:' & Workbooks(2).name Debug.Print '按名稱訪問(wèn)工作簿如下:' Debug.Print '第一個(gè)工作簿是:' & Workbooks('VBA.xlsm').name Debug.Print '第一個(gè)工作簿是:' & Workbooks('TEST.xlsx').name End Sub
【打印結(jié)果】
現(xiàn)在打開(kāi)的工作簿為:
【獲取工作簿信息】
【代碼區(qū)域】
Sub 獲取工作簿信息() Dim wb As Workbook Set wk = Workbooks(1) wk.Activate Debug.Print Debug.Print '當(dāng)前Excle文檔的信息如下:' Debug.Print '工作簿的名稱為:' & wk.name Debug.Print '工作簿的保存位置為:' & wk.Path Debug.Print '工作簿是否只讀:' & CStr(wk.ReadOnly) Debug.Print '工作簿的全名為:' & wk.FullName Debug.Print '工作簿是否需要密碼:' & wk.HasPassword End Sub
【結(jié)果展示】
【新建工作簿】
【代碼區(qū)域】
Sub 新建工作簿() Dim wb As Workbook Dim wk As Worksheet Rem 設(shè)置初始化工作簿中默認(rèn)的工作表數(shù)目 Application.SheetsInNewWorkbook = 2 Set wb = Workbooks.Add '新建工作簿 Set ws = wb.Sheets(1) ws.name = '產(chǎn)品' Set ws = wb.Sheets(2) ws.name = '原料' Rem 恢復(fù)初始工作簿中默認(rèn)的工作表 Application.SheetsInNewWorkbook = 3 MsgBox '成功完成了新建工作簿!', vbOKOnly, '新建工作簿' Set wb = Nothing Set ws = Nothing End Sub
【結(jié)果展示】
【使用對(duì)話框打開(kāi)工作簿】
【代碼區(qū)域】
Sub 使用對(duì)話框打開(kāi)工作簿() Dim fileInformation As String fileInformation = Application.GetOpenFilename('Excle 工作簿(*.xlsx),*.xlsx') End Sub
【結(jié)果展示】
【備份工作簿】
【代碼區(qū)域】
Sub 備份工作簿() Dim wk As Workbook Dim mypath As String Dim myfile As String Dim filefull As String Set wk = Workbooks(1) wk.Activate mypath = wk.Path myfile = '備份' + wk.name filefull = mypath + '\' + myfile wk.SaveCopyAs filefull 'vbLf 換行 MsgBox '備份成功!' & vbLf & '備份文件于' & mypath & '\' & & myfile & vbLf & '備份文件的全名為:' & filefull, vbOKOnly, '備份工作簿' Set wk = Nothing End Sub
【效果展示】
【使用保存對(duì)話框保存工作簿】
【代碼區(qū)域】
Sub 使用保存對(duì)話框來(lái)保存文件() Dim wk As Workbook Dim fileinfo As String Set wk = Workbooks(1) wk.Activate fileinfo = Application.GetSaveAsFilename(exclefile, 'Excle 工作簿(*.xlsm),*.xlsx') If fileinfo = 'False' Then MsgBox '請(qǐng)輸入工作簿名字', vbOKOnly, '保存工作簿' Exit Sub End If wk.SaveAs Filename:=fileinfo Set wk = Nothing End Sub
【效果展示】
【設(shè)置工作簿窗口大小】
【代碼區(qū)域】
Sub 設(shè)置工作簿窗口大小() Dim win As Window Dim windate As Long Dim winwidth As Long Dim winheight As Double Set win = Application.ActiveWindow win.Activate With win winstate = .WindowState winwidth = .Width winheight = .Height '設(shè)置窗口狀態(tài) .WindowState = xlNormal .Width = 600 .Height = 300 MsgBox '設(shè)置窗口大小之前:' & vbLf & '窗口狀態(tài)為:' & CStr(winstate) & vbLf & '窗口寬度為:' & CStr(winwidth) & vbLf & '窗口高度為:' & CStr(winheight) & vbLf & '設(shè)置窗口大小之后:' & vbLf & '窗口狀態(tài)為:' & CStr(.WindowState) & vbLf & '窗口寬度為:' & CStr(.Width) & vbLf & '窗口高度為:' & CStr(.Height) End With End Sub
【效果展示】
【凍結(jié)窗口】
在Excle中可以直接使用凍結(jié)窗口凍結(jié),但是這個(gè)不是很方便
下面我們使用宏來(lái)自定義凍結(jié)的行
【代碼區(qū)域】
Sub 凍結(jié)窗口() Dim win As Window Set win = Application.ActiveWindow With win .Split = True '凍結(jié)開(kāi)關(guān)打開(kāi) .SplitColumn = 4 '從第4列開(kāi)始凍結(jié) .SplitRow = 3 '從第3行開(kāi)始凍結(jié) End With win.FreezePanes = True '拆分凍結(jié)項(xiàng)打開(kāi) MsgBox '凍結(jié)完成!', vbOKOnly, '凍結(jié)窗口' Set win = Nothing End Sub
【效果展示】
【更改工作簿名稱】
【代碼區(qū)域】
Sub 更改工作簿名稱() Dim filename As String filename = 'C:\OLIVER.xlsx' Name filename As 'C:\OLIVER_附件.xlsx' MsgBox ('工作簿名稱修改完成'), vbOKOnly, '修改名稱' End Sub
【效果展示】
【關(guān)閉工作簿】
【代碼區(qū)域】
Application.ActiveWorkbook.Close
Application.Quit
聯(lián)系客服