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. Excel1. 解讀Excel VBAExcel VBA解讀(81):工作表事件示例excelvba81.xlsm"

    End Sub

    打開後的工作簿excelvba81.xlsm成為當前工作簿。

    示例代碼2:將打開的工作簿賦值給變數

    下面的代碼將打開的工作簿賦給對象變數。

    Sub testWBOpen1()

    Dim wb As Workbook

    Set wb = Workbooks.Open(Filename:="I:9. Excel1. 解讀Excel VBAexcelvbaSample.xlsm")

    End Sub

    打開工作簿excelvbaSample.xlsm並將該工作簿賦值給變數wb。在代碼中,可以直接使用對象變數wb來操作該工作簿。

    示例代碼3:測試是否已經打開了工作簿

    下面的自定義函數blnWBOpen檢查指定名稱的工作簿是否已經被打開。

    代碼首先將對工作簿的引用賦值給對象變數,然後檢查是否賦值成功。如果找到指定的工作簿,blnWBOpen函數返回True,否則返回False。

    代碼使用On Error Resume Next語句確保在沒有找到指定的工作簿時不會發生運行時錯誤。

    使用下面的代碼測試blnWBOpen函數:

    下面的自定義函數blnWBOpen1也可以用來檢查指定名稱的工作簿是否已被打開:

    還可以使用下面的自定義函數blnWBOpen2檢查指定名稱的工作簿是否已被打開:


    本文為原創文章,轉載請註明出處。

    歡迎在下面留言,完善本文內容,讓更多的人學到更完美的知識。


    推薦閱讀:

    解讀「旺夫」 女人謹記
    命理解讀:多災多難的八字
    通俗解讀《易經》(17)
    怎麼解讀眉毛上的痣?
    重磅解讀:十天干「甲、丙、戊、庚、壬」

    TAG:工作 | 代碼 | 方法 | 解讀 | Excel |