No.1Excel內建了一些檔案開啟、儲存、選擇等對話方塊,本節主要介紹一下如何利用這些內建對話方塊來進行檔案的相關操作。學習之前,首先認識一下物件FileDialog,此物件提供了檔
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---
相關文章
No.1Excel內建了一些檔案開啟、儲存、選擇等對話方塊,本節主要介紹一下如何利用這些內建對話方塊來進行檔案的相關操作。學習之前,首先認識一下物件FileDialog,此物件提供了檔
2021-06-04 11:28:32
【TechWeb】日前,企查查大資料研究院釋出《2021上半年社群團購投融資資料報告》,報告資料顯示,2021年1-5月,社群團購賽道僅有8起融資,披露金額超262億元。資金集中湧向老玩家,「興
2021-06-04 11:27:17
文/祕數本文百家號獨家釋出,嚴禁抄襲搬運,違者必究。我們現在看到很多的介紹都知道我國現在對於晶片的需求量非常大,而且晶片很多情況下不能自主研發,受制於其他很多不確定因素,
2021-06-04 11:26:57
ASML終究是坐不住了!美為了抑制國內半導體的發展,也是使用出各種「組合拳」,自臺積電無法代工晶片之後,眾多眼光開始投向了中芯國際,可要知道中芯的一條產業線其中6成以上的裝置
2021-06-04 11:26:52
傳聞多時的原廠最貴布加迪終於量產了。日前,布加迪釋出了旗下全新車型——La Voiture Noire量產版官圖,新車全球僅此一臺,售價高達1340萬美元(約8600萬元人民幣)。布加迪La Voitu
2021-06-04 11:26:13
過去,人們時常暢想未來生活。「科幻之神」阿西莫夫就預測通訊將視聽化、駕駛將自動化,連烹飪都將智慧化,由小機械來替你完成。幾十年過去,其他的幻想逐步變為現實,但做飯這事兒似
2021-06-04 11:26:03