Excel VBA和文件夾-1.7通過對話框靈活選定文件夾並打開對應文件

2021-01-08 Excel和VBA

前景提要

之前我們學習了如何通過VBA遍歷我們指定的文件夾,通過此方法,我們可以很方便將某個文件夾中相關格式的文件全部打開並操作,節省了不少的時間和效率,不過我們也說了,上面的方法只能打開我們指定的某個文件夾的方法,意思就是,我們寫好的VBA代碼,每次都只能打開指定的文件夾的文件,但是其他文件夾的就不定,如果不小心換了名字,或者命名的時候多了一個空格或者是標點的話,程序就沒有辦法來執行了,有沒有什麼好的辦法,我們自己根據實際的需要來選擇我們想要的文件夾,然後系統自己執行後面的打開合併的操作呢?

思路

自然是可以的,我們一定都非常熟悉window的對話框吧,在你通過excel打開新的文件的時候,都會彈出一個對話框,讓你選擇你想要打開的文件,這樣功能確實是非常不錯,

如果我們在寫腳本的時候,也利用這個功能,靈活的選擇自己需要的文件夾,不就可以實現這樣的效果了嗎?

那麼VBA能否實現這樣的對話框功能呢?當然是可以的,對話框其實我們已經非常的熟悉了,今天帶著大家一起來使用下VBA中的對話框。

上代碼

這裡我們不需要指定對應的文件夾的位置了,通過對話框的窗口選擇我們想要打開的文件的位置,然後執行後面的匯總操作,因為這次主要介紹的是對話框的操作,所以打開文件等操作我們這裡就忽略了,保持代碼的簡短,方便大家閱讀,也利於大家獲得知識點。

Sub test()

With Application.FileDialog(msoFileDialogFilePicker)

.AllowMultiSelect = True

If .Show = -1 Then

For x = 1 To .SelectedItems.Count

Debug.Print .SelectedItems(x)

Next x

Else

MsgBox "您未作出任何選擇,程序結束!"

Exit Sub

End If

End With

End Sub

代碼解析

With Application.FileDialog(msoFileDialogFilePicker)

********

End With

這一段代碼的作用就是打開我們前面所說的對話框,我們來進行調試下,看看是不是這樣的效果。

這裡我們可以看到我們已經成功的打開了文件選擇的對話框,我們可以根據自己的文件所在位置,選擇自己想要的文件,並不需要制定對應的文件所在的位置了,方便了很多。

If .Show = -1 Then

*******

Else

MsgBox "您未作出任何選擇,程序結束!"

Exit Sub

End If

這一段判斷就是判斷我們是否作出了選擇,既然對話框中有一個打開和一個取消的按鈕,自然我們也需要做出對應的判斷了,如果沒有做出選擇,我們還去執行後面的操作的話,程序可能會報錯的,我們之前也說過了,這樣的體驗感非常的不好,如果你拿給其他的同事用的話,其他同事可能會質疑你的能力和水平,這樣也會導致你的影響並不好,所以我們這裡要做出一個判斷,判斷的方法很簡單,如果選擇了打開的話,.Show = -1就是成立的,如果沒有,那就是錯誤的,程序就是執行彈窗提示,並直接強制結束程序,我們來試試。

當我點擊取消之後,程序並未執行後面的正常操作,而是執行了彈窗提醒的操作,完美的達到了我們的目的。

然後我們再來說說如果選擇了打開的話,後面的代碼的意思。

For x = 1 To .SelectedItems.Count

Debug.Print .SelectedItems(x)

Next x

我們既然是要匯總好多個文件,那麼我們選擇的時候,自然是需要選擇好多個文件了,這裡的.SelectedItems.Count代表的就是我們已經選擇的文件總數,通過之前的學習,我們知道,我們打開文件夾自然是需要完整的路徑了,那麼這裡完整的路徑要如何活動呢,也很簡單,.SelectedItems(x)就是每個文件的完整路徑,我們來一步步調試下,這樣更加清楚效果。

我們選擇了文件夾中的所有文件,也就是總數為3個,這裡.SelectedItems.Count的結果就是3,後面我們講通過for循環遍歷3次。

我們在每次遍歷的時候,都將文件夾的完整路徑,也是就是.SelectedItems(x)完整的輸出,也就是這樣的效果

如果我們想要執行打開的命名的話,就可以直接寫成

Workbooks.Open .SelectedItems(x)

完整代碼+注釋

Sub test()

With Application.FileDialog(msoFileDialogFilePicker) '打開對話框

.AllowMultiSelect = True

If .Show = -1 Then '判斷是否有選擇文件

For x = 1 To .SelectedItems.Count '遍歷循環開始

Debug.Print .SelectedItems(x) '輸出文件的完整路徑,實際操作中,可以轉換成為你想要的其他操作。

'Workbooks.Open .SelectedItems(x)

Next x

Else

MsgBox "您未作出任何選擇,程序結束!" '如果沒有做出選擇,彈窗提示,並且跳出程序。

Exit Sub

End If

End With

End Sub

相關焦點

  • Windows 7如何通過顯示文件和文件夾,查看系統中的隱藏文件
    這幾天有點比較忙,一直以來創作的Windows 7作業系統教程沒有來得及更新,今天小編將繼續前幾期教程接著介紹。小夥伴們可能不一定了解,通過顯示文件和文件夾,可以查看系統中所有的隱藏文件,而通過查看文件和文件夾,則可了解指定文件和文件夾的內容與屬性。
  • 高級文件夾加密軟體 最好的文件夾加密工具
    如何為電腦文件夾加密碼對於保護個人隱私而言至關重要。對於普通的電腦用戶來說,選擇什麼文件夾加密軟體幫助加密是非常關鍵的。一般來說,由於不同的文件夾加密軟體的內置加密核心不同,這些文件夾加密軟體的加密效果也大不相同。
  • windows10 系統怎麼顯示、隱藏文件和文件夾
    現在越來越多的電腦使用 windows10 作業系統,大家都知道 windows 系統自帶有隱藏文件、文件夾功能,只要把文件或文件夾設置為隱藏屬性就可以隱藏了,一定程度上保護文件安全,同時也可以防止誤刪除操作。
  • 用戶權限管理,設置文件和文件夾權限,防止別人修改或刪除
    用戶權限管理,設置文件和文件夾權限大家好,我是「科技跑的快」,權限授予用戶或組對某個對象、對象屬性的訪問類型。例如,小王組可以被授予對名為「原稿」文件的「讀取」和「寫入」權限。要對某個文件進行操作,需要獲取相應的權限,沒有授予權限的用戶就無法訪問或只能查看不能更改文件內容等。下面將介紹如何設置文件的權限,具體操作方法如下:1 選擇「屬性」命令選中文件夾,單擊「組織」下拉按鈕,在彈出的下拉菜單中選擇「屬性」命令,如下圖所示。
  • QQ接收的文件存儲在哪個文件夾?
    QQ不僅是一款社交軟體,也是我們傳輸文件較為常用的工具之一。那麼,我們通過QQ接收的文件存儲在電腦那個位置呢?一方面與您QQ安裝的盤符有關,一方面與您設置的存儲路徑有關。以我的電腦為例,QQ默認安裝在系統盤,那麼QQ文件的存儲路徑就是「C:\Users\Administrator\Documents\Tencent Files\331395089\FileRecv\」,如果您的QQ並未安裝在系統盤,而是D盤、E盤等,僅需要將該路徑的C盤更換為您所安裝的盤符即可,例如您安裝在D盤,那麼文件的存儲路徑就是「D:\Users\Administrator
  • 文件夾加密軟體免費下載 文件高級加密
    實際上,普通的文件夾加密軟體所帶來的加密效果也並不安全,部分加密工具甚至缺乏有效的自我防禦體系,容易被卸載導致加密無效。  易捷文件夾加密軟體具備真正意義上的自我防禦體系,經過多維度的加密處理和防護,能夠深入地對文件或者文件夾加密全面加密。同時,軟體還會啟動新的自我防禦體系,從而確保軟體自身不會被卸載失效。
  • 怎麼在電腦上打開手機文件夾並複製文件?
    在平時,如果不想使用手機助手之類的軟體的話,可以直接通過數據線或u盤與電腦的usb接口連結到電腦上上傳文件或相片。也可以把電腦中的文件複製並粘貼到手機的文件夾中。這裡使用數據線來連結到電腦上。一般情況下當我們把手機用數據線連接到電腦上之後。在手機上會提示它是充電。
  • 電腦上怎麼給文件夾加密碼? 如何避免私密文件夾不被他人打開?
    在電腦中,大家可能會有些比較私密的文件夾不想讓別人看到,但是別人又可以隨便打開電腦,在這種情況下,大家要如何避免私密文件夾不被他人打開呢?從目前來看,除了將文件夾進行隱藏,最好的辦法   原標題:電腦上怎麼給文件夾加密碼? 如何避免私密文件夾不被他人打開?
  • 個人電腦文件夾如何設置密碼?
    重要文件存放在電腦上不想讓別人看到,這個時候就需要設置密碼了,那如何給文件夾設置密碼呢?下面就來介紹一下我經常所用的設置密碼的方法!方法一:屬性加密法我們可以通過文件夾的屬性來加密文件,這種方法是最簡單的,但是安全性並不高,只適用於普通文檔的加密。1、右擊文件夾,點擊【屬性】功能,調出屬性窗口。2、點擊【高級】按鈕,勾選下方的「加密內容以便保護數據」,然後按確定。
  • 如何在Mac os優勝美地給文件和文件夾加密-2
    如果你正在尋找另一種方式來保護在Mac OS X您的個人文件,請繼續閱讀,我將在這篇文章涵蓋如何用密碼保護個人文件,並使用iWork保護文件夾,微軟Office的Automator,磁碟工具,終端。加密2016版的word從菜單欄,進入「工具」,然後單擊「保護文檔」。
  • 易捷文件夾加密:高級隱藏無懼查看文件
    在這樣的情況下,我們需要的正是易捷文件夾加密軟體(http://www.yijiejiami.com)。千萬不要以為加密軟體的使用非常複雜,經過不斷地功能完善和優化,易捷軟體的使用幾乎沒有任何難度。尤其是軟體本身的高級隱藏功能,甚至可以將一個重要的文件夾從系統之內完全隱蔽,除了軟體使用者本身,其他人都無法看到文件夾之中的內容。
  • 共享文件夾中的文件無法複製怎麼辦
    對於企業內部的大部分員工來說企業的一些重要文件可能都是僅有訪問權限,也就是說可以打開,但是無法複製、剪切、刪除、列印等等權限。那麼如何設置允許打開共享文件夾禁止複製拷貝內部文件呢?下面小編來跟大家詳細的分享下操作的方法。一、通過everyone來全面設置僅允許訪問。
  • BIM項目文件夾體系,文件目錄整理和文件命名技巧
    如果沒有好好整理的話,反過頭來要找文件經常找不到。通過搜索文件名,搜索出來好多相同文件,還得一個一個去打開,不僅麻煩還不方便。所以在做BIM項目之前就要有一套規範BIM項目文件夾體系。BIM項目文件夾體系1、BIM項目文件夾體系BIM
  • excel與bat命令配合,1分鐘新建366個文件夾
    Hello,大家好,今天跟大家分享下,我們如何使用excel與bat命令為2020年的每天都新建一個文件夾,他的操作也並不難,下面就讓我們來一起操作下吧一、填充日期想要為2020年的每一天都新建一個文件夾,首先我們需要先吧2020年的日期都羅列出來首先我們在A1單元格中輸入2020/1/1,然後點擊這個日期在開始功能組中找到填充,然後在填充中選擇序列,將序列產生設置為列,將類型設置為日期,然後將單位設置為日,隨把步長設置為1,終止時間設置為2020/12/31,然後點擊確定,這樣的話即可填充整年的日期
  • Linux下文件及文件夾的操作與處理
    前言在Linux中,對文件或文件夾的操作一般包括:創建、改名、移動、刪除,這些都是比較基本的操作,大家應該掌握。在這裡面,有些命令和Windows下的DOS命令是相似的,如果以前了解過DOS,對學習也會有一定的幫助。
  • 無法顯示隱藏文件夾的解決辦法
    在我們的作業系統中有一部分隱藏文件夾,一般不會用到隱藏文件夾裡的內容,不過在安裝某些插件或者調試某些軟體的時候就需要用到隱藏文件夾的內容。今天小編在客戶現場處理問題,就遇到了需要調用隱藏文件夾裡的內容,可是當小編按著正常操作來查看隱藏文件夾時突然發現無論怎麼選擇都不能顯示隱藏文件夾。通過小編多年的維修經驗判斷可能註冊表出現了問題,於是小編就對註冊表進行了更改,問題也得到了完美的解決!下面小編為大家分享一下如何通過註冊表解決無法查看隱藏文件的問題。
  • 文件夾怎麼防止刪除,如何設置文件夾不被刪除?
    電腦有些重要的文件夾想設置禁止刪除該如何操作呢,其實方法還是很多的,可以通過權限設置,註冊表設置或者軟體設置,下面小編來具體跟大家分享下操作方法。1、在電腦桌面使用快捷鍵win鍵+R喚出運行窗口,輸入regedit,點擊確定。2、依次點擊展開\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control,選中其下StorageDevicePolicies。
  • 如何隱藏電腦裡的文件或者文件夾?
    今天就來和大家分享下如何隱藏文件或者文件夾:第一種方法:1、找到需要隱藏的文件或者文件夾,這裡我在F盤建立了一個ABC文件以此文件為例。找到需要隱藏的ABC文件夾,滑鼠右鍵單擊ABC文件夾找到屬性選項:2、滑鼠左鍵點擊屬性進入到ABC屬性界面,在最下方屬性欄找到隱藏選項打上√然後點擊依次點擊應用和確定,這時會發現在F盤裡的ABC文件夾已經被隱藏了:是不是很簡單!那麼要怎麼找回被隱藏的ABC文件夾呢?
  • Win10系統加密文件夾
    微軟對win10系統進行了全面優化和改進,解決了秋季更新包、雲服務集成、智能行動裝置和自然人機互動等方面的所有問題,不少網友對win10系統進行了升級。接下來,我將教你如何在win10系統中加密文件夾隨著win10系統的逐步完善,越來越多的朋友將系統升級到win10。不過,有些朋友剛剛升級了win10系統,對文件夾加密等設置了解不多。
  • 如何禁止刪除文件,如何防止文件夾被刪除?
    對於企業內部的一些重要崗位,一般其電腦都需要設置禁止刪除文件及文件夾的,防止重要文件丟失,那麼具體應該如何設置呢?1、在需要禁止刪除文件的磁碟上方點擊右鍵,在彈出的菜單中點擊屬性。6、勾選刪除、刪除子文件夾及文件,其他權限根據需要勾選,然後依次點擊確定返回。7、通過相同的方式把所有需要設置禁止刪除的磁碟全部設置完成即可,這時候試試能不能刪除文件了?8、當然上述方法既然容易設置,那麼也很容易被修改掉,下面小編再來舉例另外一種方法:通過軟體設置。