Excel VBA和文件夾-1.8通過對話框靈活選定文件的小技巧

前景提要

在之前,我們學(xué)習(xí)了如果通過對話框的形式來打開文件的方法,這種方法的好處就是兩個字:靈活,我們不用在代碼中強(qiáng)制指定并需要在某個文件夾中操作,也不用和其他的使用者多次強(qiáng)調(diào)文件的命名格式等方面的要求,代碼的兼容性和通用性一下子就提高了很多,因?yàn)樯弦淮沃饕歉嬖V大家如何通過VBA代碼調(diào)出這個對話框的,一些細(xì)節(jié)的問題還沒有來得及和大家分享,今天我們就繼續(xù)來完善下上一次的代碼,讓腳本運(yùn)行起來更加的人性化。

思路

對話框,顧名思義就是用戶(代碼編寫者)和電腦之間的一個交互,我們告訴電腦我們需要作用,電腦收到我們的信息之后,就去執(zhí)行對應(yīng)的操作,但是僅僅調(diào)用window本身自帶的對話框,似乎顯得非常的不友好,來看看我們上一節(jié)的對話框窗體

對話框的標(biāo)題:游覽,游覽什么?不是應(yīng)該選擇更加合適嘛?或者我想要更加人性化的提示,請選擇指定的文件之類的,還有為什么我每次調(diào)用對話框窗體都固定在一個位置,這樣我比較方便選擇我想要的文件,比方說我想要固定在D盤,這樣更加方便。。。

不要急,這一次我們就來分享下,如果解決上面的這些問題,讓我們的窗體看起來更加的友好

還是按照我們一貫的風(fēng)格,只展示本屆知識點(diǎn)相關(guān)的代碼,這樣的好處就是方便大家能夠清楚明白的看到知識點(diǎn)相關(guān)的代碼,也方便大家后面的調(diào)試和操作。

上代碼+代碼解析

1,設(shè)置默認(rèn)路徑(D:\工作文件夾)

Sub test()

With Application.FileDialog(msoFileDialogFilePicker)

    .InitialFileName = "D:\工作文件夾"'指定默認(rèn)路徑

    If .Show = -1 Then

        For x = 1 To .SelectedItems.Count

            Debug.Print .SelectedItems(x)

        Next x

        Else

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

            Exit Sub

    End If

End With

End Sub

效果如圖:

1 [2].jpg

2.設(shè)置對話框標(biāo)題

Sub test()

With Application.FileDialog(msoFileDialogFilePicker)

    .InitialFileName = "D:\工作文件夾" '指定默認(rèn)路徑

    .Title = "我是對話框標(biāo)題,請看這里!"

    If .Show = -1 Then

        For x = 1 To .SelectedItems.Count

            Debug.Print .SelectedItems(x)

        Next x

        Else

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

            Exit Sub

    End If

End With

End Sub

效果圖如下:

2 [2].jpg

3.是否允許多選(這里設(shè)置的是不允許,如果需要的話,可以改為True就可以了)

Sub test()

With Application.FileDialog(msoFileDialogFilePicker)

    .InitialFileName = "D:\工作文件夾" '指定默認(rèn)路徑

    .Title = "我是對話框標(biāo)題,請看這里!" '窗體標(biāo)題

    .AllowMultiSelect = False '是否允許多選

    If .Show = -1 Then

        For x = 1 To .SelectedItems.Count

            Debug.Print .SelectedItems(x)

        Next x

        Else

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

            Exit Sub

    End If

End With

End Sub

4.設(shè)置對話框默認(rèn)打開的文件

Sub test()

With Application.FileDialog(msoFileDialogFilePicker)

    .InitialFileName = "D:\工作文件夾" '指定默認(rèn)路徑

    .Title = "我是對話框標(biāo)題,請看這里!" '窗體標(biāo)題

    .AllowMultiSelect = False '是否允許多選

    .Filters.Clear '清除文件過濾器

    .Filters.Add "Excel Files", "*.xls;*.xls" '設(shè)置打開文件的類型

    If .Show = -1 Then

        For x = 1 To .SelectedItems.Count

            Debug.Print .SelectedItems(x)

        Next x

        Else

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

            Exit Sub

    End If

End With

End Sub

效果圖如下:

4.jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容