美文网首页VBA分享专栏excel的一些小技巧教程
Excel VBA和文件夹-1.8通过对话框灵活选定文件的小技巧

Excel VBA和文件夹-1.8通过对话框灵活选定文件的小技巧

作者: Excel和VBA | 来源:发表于2019-06-18 18:24 被阅读0次

    前景提要

    在之前,我们学习了如果通过对话框的形式来打开文件的方法,这种方法的好处就是两个字:灵活,我们不用在代码中强制指定并需要在某个文件夹中操作,也不用和其他的使用者多次强调文件的命名格式等方面的要求,代码的兼容性和通用性一下子就提高了很多,因为上一次主要是告诉大家如何通过VBA代码调出这个对话框的,一些细节的问题还没有来得及和大家分享,今天我们就继续来完善下上一次的代码,让脚本运行起来更加的人性化。

    思路

    对话框,顾名思义就是用户(代码编写者)和电脑之间的一个交互,我们告诉电脑我们需要作用,电脑收到我们的信息之后,就去执行对应的操作,但是仅仅调用window本身自带的对话框,似乎显得非常的不友好,来看看我们上一节的对话框窗体

    对话框的标题:游览,游览什么?不是应该选择更加合适嘛?或者我想要更加人性化的提示,请选择指定的文件之类的,还有为什么我每次调用对话框窗体都固定在一个位置,这样我比较方便选择我想要的文件,比方说我想要固定在D盘,这样更加方便。。。

    不要急,这一次我们就来分享下,如果解决上面的这些问题,让我们的窗体看起来更加的友好

    还是按照我们一贯的风格,只展示本届知识点相关的代码,这样的好处就是方便大家能够清楚明白的看到知识点相关的代码,也方便大家后面的调试和操作。

    上代码+代码解析

    1,设置默认路径(D:\工作文件夹)

    Sub test()
    
    With Application.FileDialog(msoFileDialogFilePicker)
    
        .InitialFileName = "D:\工作文件夹"'指定默认路径
    
        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
    

    效果如图:

    1 [2].jpg

    2.设置对话框标题

    Sub test()
    
    With Application.FileDialog(msoFileDialogFilePicker)
    
        .InitialFileName = "D:\工作文件夹" '指定默认路径
    
        .Title = "我是对话框标题,请看这里!"
    
        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
    

    效果图如下:

    2 [2].jpg

    3.是否允许多选(这里设置的是不允许,如果需要的话,可以改为True就可以了)

    Sub test()
    
    With Application.FileDialog(msoFileDialogFilePicker)
    
        .InitialFileName = "D:\工作文件夹" '指定默认路径
    
        .Title = "我是对话框标题,请看这里!" '窗体标题
    
        .AllowMultiSelect = False '是否允许多选
    
        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
    

    4.设置对话框默认打开的文件

    Sub test()
    
    With Application.FileDialog(msoFileDialogFilePicker)
    
        .InitialFileName = "D:\工作文件夹" '指定默认路径
    
        .Title = "我是对话框标题,请看这里!" '窗体标题
    
        .AllowMultiSelect = False '是否允许多选
    
        .Filters.Clear '清除文件过滤器
    
        .Filters.Add "Excel Files", "*.xls;*.xls" '设置打开文件的类型
    
        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
    

    效果图如下:

    4.jpg

    相关文章

      网友评论

        本文标题:Excel VBA和文件夹-1.8通过对话框灵活选定文件的小技巧

        本文链接:https://www.haomeiwen.com/subject/heqqqctx.html