Excel VBA 檔案目錄選擇對話框使用教學與範例 - Office 指南

文章推薦指數: 80 %
投票人數:10人

Excel VBA 檔案目錄選擇對話框使用教學與範例 ... 在VBA 巨集程式中,有時候會需要讓使用者選擇電腦中的檔案或目錄,由於一般的路徑都很長,不太可能 ... 參數值, 說明. 跳至主要導覽跳至主要內容跳至主要資訊欄介紹如何使用VBA的Application.FileDialog建立檔案或目錄選擇對話框,讓使用者以滑鼠選擇檔案或目錄。

在VBA巨集程式中,有時候會需要讓使用者選擇電腦中的檔案或目錄,由於一般的路徑都很長,不太可能讓使用者輸入路徑,正常來說都會以檔案選擇對話方塊的介面,讓使用者直接用滑鼠點選,以下將介紹如何使用VBA的Application.FileDialog建立圖形介面(GUI)的檔案或目錄選擇對話框。

選擇單一檔案 Application.FileDialog可用來建立選擇檔案的視窗,以下是一個簡單的範例: '建立Application.FileDialog物件 DimfDialogAsFileDialog SetfDialog=Application.FileDialog(msoFileDialogFilePicker) '顯示對話方塊,若傳回-1表示有成功選擇檔案 IffDialog.Show=-1Then '顯示選擇的檔案 MsgBoxfDialog.SelectedItems(1) EndIf 在建立fDialog這個對話方塊物件之後,呼叫它的Show函數即可在螢幕上顯示檔案選擇的視窗,如果使用者正常選擇了一個檔案之後,Show就會傳回-1,我們可以藉此判斷使用者有沒有選擇檔案(或是取消),若有選擇檔案的話,就可以從SelectedItems 中取出選擇檔案的路徑。

選擇單一檔案 執行後所產生的視窗會像這樣: 選擇單一檔案 當使用者選擇檔案之後,在程式中即可取得類似這樣完整的檔案路徑。

檔案路徑 進階屬性 Application.FileDialog的視窗有許多進階屬性可以調整,例如選擇多檔案、視窗標題、初始目錄與檔案類型等,以下是自訂屬性的範例: DimfDialogAsFileDialog SetfDialog=Application.FileDialog(msoFileDialogFilePicker) '允許選擇多檔案 fDialog.AllowMultiSelect=True '視窗標題 fDialog.Title="請選擇Excel檔案" '初始目錄 fDialog.InitialFileName="C:" '設定檔案類型 fDialog.Filters.Clear fDialog.Filters.Add"Excel檔案","*.xlsx" fDialog.Filters.Add"所有檔案","*.*" IffDialog.Show=-1Then '逐一處理每個檔案 ForEachfileInfDialog.SelectedItems MsgBoxfile Nextfile EndIf 這個範例允許使用者同時選擇多個檔案,同時透過Filters的方式,讓使用者在選擇檔案時可以依照副檔名過濾檔案,產生的視窗會像這樣: 選擇Excel檔案 選擇目錄 在使用Application.FileDialog建立視窗物件時,會傳入一個參數指定視窗類型,其可用的參數如下: 參數值 說明 msoFileDialogOpen 開啟舊檔 msoFileDialogSaveAs 儲存檔案 msoFileDialogFilePicker 瀏覽並選擇檔案 msoFileDialogFolderPicker 瀏覽並選擇目錄 若需要選擇目錄,則可改用msoFileDialogFolderPicker: DimfDialogAsFileDialog '建立選擇目錄的對話方塊 SetfDialog=Application.FileDialog(msoFileDialogFolderPicker) IffDialog.Show=-1Then '顯示選擇的目錄 MsgBoxfDialog.SelectedItems(1) EndIf 這樣產生的視窗就會自動把普通檔案隱藏起來,只顯示目錄讓使用者更容易選擇。

選擇目錄 儲存檔案 將Application.FileDialog的參數改為msoFileDialogSaveAs即可產生儲存檔案專用的檔案選擇對話方塊,程式的語法都相同: '建立儲存檔案的對話方塊 SetfDialog=Application.FileDialog(msoFileDialogSaveAs) IffDialog.Show=-1Then MsgBoxfDialog.SelectedItems(1) EndIf 這樣產生出來的檔案選擇對話方塊,除了文字標示稍微不同之外,也會有檔案取代確認的功能。

檔案取代確認功能 參考資料:AnalystCave 讀者互動方式 發佈留言取消回覆發佈留言必須填寫的電子郵件地址不會公開。

必填欄位標示為*留言*顯示名稱* 電子郵件地址* 個人網站網址 主要資訊欄搜尋 近期文章 Linux檢查、測試CPUAES-NI硬體加速加密指令集教學 CentOSLinux7.9自行編譯、安裝OpenSSH9.0p1伺服器教學與範例 Python使用zipfile模組壓縮、解壓縮ZIP檔案教學與範例 Python以LINENotify自動傳送即時訊息、圖片教學與範例 Linux使用Prometheus與Grafana監控伺服器狀態、發送告警Email簡訊教學與範例 Linux設定pam_tty_audit記錄SSH使用者操作指令教學與範例 Linux封鎖、解鎖登入失敗次數過多的帳號pam_faillock教學與範例 Python使用pytube自動下載YouTube影片教學與範例 推薦網站 Udemy線上教學課程 Coursera線上教學課程 關注本站 電子郵件Facebook 公益 家扶基金會 台灣世界展望會 Yahoo奇摩公益 igiving公益網 兒福聯盟



請為這篇文章評分?