【正文】
文件夾中. 工作簿名.xlsEnd Sub示例說明:SaveAs方法相當于“另存為……”命令,以指定名稱保存工作簿。該方法有12個參數(shù),均為可選參數(shù)。如果未指定保存的路徑,那么將在默認文件夾中保存該工作簿。如果文件夾中該工作簿名已存在,則提示是否替換原工作簿。[示例030602]Sub SaveWorkbook2() Dim oldName As String, newName As String Dim folderName As String, fname As String oldName = newName = new amp。 oldName MsgBox 將 amp。 oldName amp。 以 amp。 newName amp。 的名稱保存 folderName = fname = folderName amp。 \ amp。 newName fnameEnd Sub示例說明:本示例將當前工作簿以一個新名(即new加原名)保存在默認文件夾中。[示例030603]Sub CreateBak1() MsgBox 保存工作簿并建立備份工作簿 CreateBackup:=TrueEnd Sub示例說明:本示例將在當前文件夾中建立工作簿的備份。[示例030604]Sub CreateBak2() MsgBox 保存工作簿時,若已建立了備份,則將出現(xiàn)包含True的信息框,否則出現(xiàn)False. MsgBox End Sub示例0307:取得當前打開的工作簿數(shù)(Count屬性)Sub WorkbookNum() MsgBox 當前已打開的工作簿數(shù)為: amp。 Chr(10) amp。 End Sub示例0308:激活工作簿(Activate方法)[示例030801]Sub ActivateWorkbook1() Workbooks(工作簿名).ActivateEnd Sub示例說明:Activate方法激活一個工作簿,使該工作簿為當前工作簿。[示例030802]Sub ActivateWorkbook2() Dim n As Long, i As Long Dim b As String MsgBox 依次激活已經(jīng)打開的工作簿 n = For i = 1 To n Workbooks(i).Activate b = MsgBox(第 amp。 i amp。 個工作簿被激活,還要繼續(xù)嗎?, vbYesNo) If b = vbNo Then Exit Sub If i = n Then MsgBox 最后一個工作簿已被激活. Next iEnd Sub示例0309:保護工作簿(Protect方法)Sub ProtectWorkbook() MsgBox 保護工作簿結(jié)構(gòu),密碼為123 Password:=123, Structure:=True MsgBox 保護工作簿窗口,密碼為123 Password:=123, Windows:=True MsgBox 保護工作簿結(jié)構(gòu)和窗口,密碼為123 Password:=123, Structure:=True, Windows:=TrueEnd Sub示例說明:使用Protect方法來保護工作簿,帶有三個可選參數(shù),參數(shù)Password指明保護工作簿密碼,要解除工作簿保護應(yīng)輸入此密碼;參數(shù)Structure設(shè)置為True則保護工作簿結(jié)構(gòu),此時不能對工作簿中的工作表進行插入、復(fù)制、刪除等操作;參數(shù)Windows設(shè)置為True則保護工作簿窗口,此時該工作簿右上角的最小化、最大化和關(guān)閉按鈕消失。示例0310:解除工作簿保護(UnProtect方法)Sub UnprotectWorkbook() MsgBox 取消工作簿保護 123End Sub示例0311:工作簿的一些通用屬性示例Sub testGeneralWorkbookInfo() MsgBox 本工作簿的名稱為 amp。 MsgBox 本工作簿帶完整路徑的名稱為 amp。 MsgBox 本工作簿對象的代碼名為 amp。 MsgBox 本工作簿的路徑為 amp。 If Then MsgBox 本工作簿已經(jīng)是以只讀方式打開 Else MsgBox 本工作簿可讀寫. End If If Then MsgBox 本工作簿已保存. Else MsgBox 本工作簿需要保存. End IfEnd Sub示例0312:訪問工作簿的內(nèi)置屬性(BuiltinDocumentProperties屬性)[示例031201]Sub ShowWorkbookProperties() Dim SaveTime As String On Error Resume Next SaveTime = (Last Save Time).Value If SaveTime = Then MsgBox amp。 工作簿未保存. Else MsgBox 本工作簿已于 amp。 SaveTime amp。 保存, , End IfEnd Sub示例說明:在Excel中選擇菜單“文件——屬性”命令時將會顯示一個“屬性”對話框,該對話框中包含了當前工作簿的有關(guān)信息,可以在VBA中使用BuiltinDocumentProperties屬性訪問工作簿的屬性。上述示例代碼將顯示當前工作簿保存時的日期和時間。[示例031202]Sub listWorkbookProperties() On Error Resume Next 39。在名為工作簿屬性的工作表中添加信息,若該工作表不存在,則新建一個工作表 Worksheets(工作簿屬性).Activate If 0 Then after:=Worksheets() = 工作簿屬性 Else End If On Error GoTo 0 ListPropertiesEnd Sub‘ Sub ListProperties() Dim i As Long Cells(1, 1) = 名稱 Cells(1, 2) = 類型 Cells(1, 3) = 值 Range(A1:C1). = True With ActiveWorkbook For i = 1 To . With .BuiltinDocumentProperties(i) Cells(i + 1, 1) = .Name Select Case .Type Case msoPropertyTypeBoolean Cells(i + 1, 2) = Boolean Case msoPropertyTypeDate Cells(i + 1, 2) = Date Case msoPropertyTypeFloat Cells(i + 1, 2) = Float Case msoPropertyTypeNumber Cells(i + 1, 2) = Number Case msoPropertyTypeString Cells(i + 1, 2) = string End Select On Error Resume Next Cells(i + 1, 3) = .Value On Error GoTo 0 End With Next i End With Range(A:C).End Sub示例說明:本示例代碼在“工作簿屬性”工作表中列出了當前工作簿中的所有內(nèi)置屬性。示例0313:測試工作簿中是否包含指定工作表(Sheets屬性)Sub testSheetExists() MsgBox 測試工作簿中是否存在指定名稱的工作表 Dim b As Boolean b = SheetExists(指定的工作表名) If b = True Then MsgBox 該工作表存在于工作簿中. Else MsgBox 工作簿中沒有這個工作表. End IfEnd Sub‘ Private Function SheetExists(sname) As Boolean Dim x As Object On Error Resume Next Set x = (sname) If Err = 0 Then SheetExists = True Else SheetExists = False End IfEnd Function示例0314:對未打開的工作簿進行重命名(Name方法)Sub rename() Name 工作簿路徑\舊名稱.xls As 工作簿路徑\新名稱.xlsEnd Sub示例說明:代碼中中的內(nèi)容為需要重命名的工作簿所在路徑及新舊名稱。該方法只是對未打開的文件進行重命名,如果該文件已經(jīng)打開,使用該方法會提示錯誤。示例0315:設(shè)置數(shù)字精度(PrecisionAsDisplayed屬性)Sub SetPrecision() Dim pValue MsgBox 在當前單元格中輸入1/3,并將結(jié)果算至小數(shù)點后兩位 = 1 / 3 = pValue = * 3 MsgBox 當前單元格中的數(shù)字乘以3等于: amp。 pValue MsgBox 然后,將數(shù)值分類設(shè)置為[數(shù)值],即單元格中顯示的精度 = True pValue = * 3 MsgBox 此時,當前單元格中的數(shù)字乘以3等于: amp。 pValue amp。 而不是1 = FalseEnd Sub示例說明:PrecisionAsDisplayed屬性的值設(shè)置為True,則表明采用單元格中所顯示的數(shù)值進行計算。示例0316:刪除自定義數(shù)字格式(DeleteNumberFormat方法)Sub DeleteNumberFormat() MsgBox 從當前工作簿中刪除000000000的數(shù)字格式 (000000000)End Sub示例說明:DeleteNumberFormat方法將從指定的工作簿中刪除自定義的數(shù)字格式。示例0317:控制工作簿中圖形顯示(DisplatyDrawingObjects屬性)Sub testDraw() MsgBox 隱藏當前工作簿中的所有圖形 = xlHide MsgBox 僅顯示當前工作簿中所有圖形的占位符 = xlPlaceholders MsgBox 顯示當前工作簿中的所有圖形 = xlDisplayShapesEnd Sub示例說明:本屬性作用的對象包括圖表和形狀。在應(yīng)用本示例前,應(yīng)保證工作簿中有圖表或形狀,以察看效果。示例0318:指定名稱(Names屬性)Sub testNames() MsgBox 將當前工作簿中工作表Sheet1內(nèi)單元格A1命名為myName. Name:=myName, RefersToR1C1:==Sheet1!R1C1End Sub示例說明:對于Workbook對象而言,Names屬性返回的集合代表工作簿中的所有名稱。示例0319:檢查工作簿的自動恢復(fù)功能(EnableAutoRecover屬性)Sub UseAutoRecover() 39。檢查是否工作簿自動恢復(fù)功能開啟,如果沒有則開啟該功能 If = False Then = True MsgBox 剛開啟自動恢復(fù)功能. Else Ms