首頁>職場>

利用 GetObject 方法開啟Excel文件

    Sub GetWorkbook()        Dim wbWorkFile As Workbook        Set wbWorkFile = GetObject("D:\test.xlsx")        ' wbWorkFile.Windows(1).Visible = True ' 這種方法開啟的檔案是隱藏的,如果需要顯示,則設定Visible值為ture        wbWorkFile.Close False        Set wbWorkFile = Nothing    End Sub
利用 Open 方法開啟Excel文件
Sub OpenWorkbook()    Dim wbWorkFile As Workbook    Set wbWorkFile = Workbooks.Open("D:\test.xlsx")    wbWorkFile.Windows(1).Visible = False    wbWorkFile.Close False    Set wbWorkFile = NothingEnd Sub

延伸其擴充套件方法:

GetObject封裝方法,可以作為共通Function
Sub GetWorkbook()    Dim objExcel                As Object       ' 用於存放Microsoft Excel 引用的變數。    Dim blnExcelWasNotRunning   As Boolean      ' 用於最後釋放的標記。    ' 測試 Microsoft Excel 的副本是否在執行。    On Error Resume Next                        ' 延遲錯誤捕獲。    ' 不帶第一個引數呼叫 Getobject 函式將返回對該應用程式的例項的引用。如果該應用程式不在執行,則會產生錯誤。    Set objExcel = Getobject(, "Excel.Application")    If Err.Number <> 0 Then blnExcelWasNotRunning = True    Err.Clear                                   ' 如果發生錯誤則要清除 Err 物件。    Set objExcel = Getobject("C:\excel.xlsx")   ' 將物件變數設為對要看的檔案的引用。    ' 設定其 Application 屬性,顯示 Microsoft Excel。然後使用 objExcel 物件引用的 Windows 集合顯示包含該檔案的實際視窗。    objExcel.Application.Visible = True    objExcel.Parent.Windows(1).Visible = True    ' 在此處對檔案進行操作。    ' ...    ' 如果在啟動時,Microsoft Excel 的這份副本不在執行中,則使用 Application 屬性的 Quit 方法來關閉它。    ' 注意,當試圖退出 Microsoft Excel 時,標題欄會閃爍,並顯示一條訊息詢問是否儲存所載入的檔案。    If blnExcelWasNotRunning = True Then        objExcel.Application.Quit    End IF    Set objExcel = Nothing   ' 釋放對該應用程式End Sub
OpenWorkbook封裝方法,可以作為共通Function
Function OpenWorkbook(ByVal strWorkbookFilePath As String)    Dim wb As Workbook    Dim fileName As String    fileName = Dir(strWorkbookFilePath)    On Error Resume Next    Set wb = Workbooks(fileName)    On Error GoTo 0    If wb Is Nothing Then        Set wb = Workbooks.Open(strWorkbookFilePath)    End If    Set OpenWorkbook = wbEnd Function
VBA程式設計神器放送

VBA程式設計神器 VBA程式碼助手 可以極大提高程式設計速度,降低程式設計門檻歡迎使用

用法 輸入 字典+空格 即可看到如下提示 也可輸入 dic+空格 zd+空格 均可得到提示

本提示資料庫可完全自定義!

22
最新評論
  • 工作沒回報,還要繼續嗎?
  • 2020工作感悟——生活不止工作這一件事