首頁 > 科技

Excel VBA檔案對話方塊的幾種使用方法

2021-06-04 11:28:32

No.1

Excel內建了一些檔案開啟、儲存、選擇等對話方塊,本節主要介紹一下如何利用這些內建對話方塊來進行檔案的相關操作。

學習之前,首先認識一下物件FileDialog,此物件提供了檔案對話方塊操作功能。

主要有如下四個功能:

包含了檔案選擇、開啟、另存為,資料夾選擇。

上述常量是任選項。

使用方法為:

Dim Fobj As FileDialog

Set Fobj = Application.FileDialog(msoFileDialogFilePicker)

這樣就定義了一個FileDialog物件,變數名稱為Fobj。

之後對Fobj變數進行屬性設定和方法操作就可以了。

FileDialog屬性

根據上圖屬性說明,可以進行相關參數設定,以達到程式所要求的條件。

具體方法下面有示例介紹。

上圖示例中,設定了四個按鈕,分別對應FileDialog對應的四個方法:開啟、選擇檔案、儲存檔案和選擇資料夾。

選擇檔案

利用FileDialog物件可實現任意選擇檔案功能,選擇之後可以對檔案進行復制、貼上、開啟等等操作,根據需求功能不同進行程式設計。

開啟檔案

著重介紹一下FileDialog兩個方法:

show 顯示對話方塊,當單擊確定後返回值-1,當單擊取消值返回0execute 在呼叫 Show 方法後立即執行使用者的操作注意一點,如果呼叫了show方法,在關閉對話方塊之前就不再執行任何程式碼了,所以有些屬性設定要在呼叫show之前進行設定,不然會發現不可用。

No.2

下面用一些程式碼來具體演示,如何實現整個過程。

呼叫對話方塊函數

Private Sub FileDialogOpen(cell As Range)Dim Fobj As FileDialogSet Fobj = Application.FileDialog(cell.Value)With FobjSelect Case .DialogType '判斷FileDialog類型Case 1 '開啟檔案.AllowMultiSelect = False '設定單選If .Show <> -1 Then Exit Sub.Execute '執行開啟檔案Case 2 '檔案另存為If .Show <> -1 Then Exit Sub.Execute '執行另存為Case 3, 4 '選擇檔案.AllowMultiSelect = TrueIf .Show <> -1 Then Exit SubDim i As Integer, xArrReDim xArr(1 To .SelectedItems.Count)For i = 1 To .SelectedItems.CountxArr(i) = vbCrLf & i & ". " & .SelectedItems(i)Next iMsgBox "你選擇的是:" & VBA.Join(xArr)End SelectEnd WithSet Fobj = NothingEnd Sub

開啟按鈕過程程式碼

Private Sub CommandButton1_Click() '開啟檔案Set cell = ActiveSheet.Range("D6")FileDialogOpen cellSet cell = NothingEnd Sub選擇檔案按鈕程式碼Private Sub CommandButton2_Click()Set cell = ActiveSheet.Range("D4")FileDialogOpen cellSet cell = NothingEnd Sub

所有用到FielDialog屬性都在程式碼中體現,仔細看會發現每個用處都十分必要。

.DialogType '判斷FileDialog類型.AllowMultiSelect = False '設定單選.SelectedItems.Count'返回選擇檔案總數.SelectedItems(i)'返回單項檔案路徑和檔名有興趣把屬性圖中的內容記住,使用就更加方便了。

歡迎關注、收藏

---END---


IT145.com E-mail:sddin#qq.com