Excel VBA解讀(85):用VBA代碼打開工作簿 — Open方法
要操作工作簿,要使用工作表分析和處理數據,都需要先打開工作簿。
在實際操作中,打開工作簿是再平常不過的操作了。雙擊桌面上的Excel快捷方式圖表,或者點擊桌面左下角開始菜單,找到Excel程序,單擊即可打開工作簿。
在VBA中,我們可以使用Workbooks對象的Open方法打開工作簿,其語法為:
Workbooks對象.Open(FileName,[UpdateLinks],[ReadOnly],[Format],[Password],[WriteResPassword],[IgnoreReadOnlyRecommended],[Origin],[Delimiter],[Editable],[Notify],[Converter],[AddToMru],[Local],[CorruptLoad])
說明:
參數FileName必需,指定一個字元串,代表要打開的工作簿文件名。
參數UpdateLinks可選,指定文件中外部引用(鏈接)的方式。如果忽略該參數,那麼將提示用戶指定如何更新鏈接。指定值為0將不更新外部引用(鏈接),指定值為1將更新外部引用(鏈接)但不更新遠程引用(鏈接),指定值為2將更新遠程引用(鏈接)但不更新外部引用(鏈接),指定值為3將更新外部引用(鏈接)。
參數ReadOnly可選,如果設置其值為True,將在只讀模式下打開工作簿。
參數Format可選,如果打開的是文本文件,那麼該參數指定分隔符;如果忽略該參數,那麼使用當前分隔符。可以指定下列值來確定文件的分隔符:1代表Tab,2代表逗號,3代表空格,4代表分號,5代表Nothing,6代表自定義分隔符。
參數Password可選,指定打開受保護工作簿時需要的密碼。如果忽略該參數但是工作簿受密碼保護,則會提示用戶輸入密碼。
參數Delimiter可選,如果打開的文件是文本文件且參數Format是6,那麼該參數指定用於作為分隔符的字元。例如,對於tab鍵使用Chr(9),對於逗號使用「,」,對於分號使用「;」,對於自定義字元串,僅使用其第一個字元。
其他參數使用不多,可參見Excel VBA幫助。
示例代碼1:基於現有工作簿創建新工作簿
下面的代碼打開工作簿excelvba81.xlsm。
Sub testWBOpen()
Workbooks.OpenFilename:="I: 9. Excel 1. 解讀Excel VBAExcel VBA解讀(81):工作表事件示例excelvba81.xlsm"
End Sub
打開後的工作簿excelvba81.xlsm成為當前工作簿。
示例代碼2:將打開的工作簿賦值給變數
下面的代碼將打開的工作簿賦給對象變數。
Sub testWBOpen1()
Dim wb As Workbook
Set wb = Workbooks.Open(Filename:="I: 9. Excel 1. 解讀Excel VBAexcelvbaSample.xlsm")
End Sub
打開工作簿excelvbaSample.xlsm並將該工作簿賦值給變數wb。在代碼中,可以直接使用對象變數wb來操作該工作簿。
示例代碼3:測試是否已經打開了工作簿
下面的自定義函數blnWBOpen檢查指定名稱的工作簿是否已經被打開。
代碼首先將對工作簿的引用賦值給對象變數,然後檢查是否賦值成功。如果找到指定的工作簿,blnWBOpen函數返回True,否則返回False。
代碼使用On Error Resume Next語句確保在沒有找到指定的工作簿時不會發生運行時錯誤。
使用下面的代碼測試blnWBOpen函數:
下面的自定義函數blnWBOpen1也可以用來檢查指定名稱的工作簿是否已被打開:
還可以使用下面的自定義函數blnWBOpen2檢查指定名稱的工作簿是否已被打開:
本文為原創文章,轉載請註明出處。
歡迎在下面留言,完善本文內容,讓更多的人學到更完美的知識。
推薦閱讀:
※解讀「旺夫」 女人謹記
※命理解讀:多災多難的八字
※通俗解讀《易經》(17)
※怎麼解讀眉毛上的痣?
※重磅解讀:十天干「甲、丙、戊、庚、壬」