Excel VBA 檔案目錄選擇對話框使用教學與範例 - Office 指南
文章推薦指數: 80 %
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公益網
兒福聯盟
延伸文章資訊
- 1第0 講 準備Excel 2013 的VBA 開發環境 在「檔案」/「選項 ...
「修改」等功能頁面,提供編寫Excel VBA 程式及執行「增益集」的各項功. 能按鈕。 ○ 在Excel 內,「巨集」 ... 字串運算式,用來指定對話方塊文字感應說明的說明檔.
- 207_分享完成檔與VB說明檔(EXCEL函數與VBA 吳老師分享)
- 3Excel VBA與巨集程式設計:新手入門就靠這一本 - 博客來
書名:Excel VBA與巨集程式設計:新手入門就靠這一本,語言:繁體中文,ISBN:9789862016909,頁數:640,出版社:博碩,作者:Bill Jelen、Tracy Syrsta...
- 4Excel VBA 檔案目錄選擇對話框使用教學與範例 - Office 指南
Excel VBA 檔案目錄選擇對話框使用教學與範例 ... 在VBA 巨集程式中,有時候會需要讓使用者選擇電腦中的檔案或目錄,由於一般的路徑都很長,不太可能 ... 參數值, 說明.
- 5Chapter 01 EXCEL VBA 程式設計基本介紹