精华内容
下载资源
问答
  • VBA中经常要用到文件对话框来进行打开文件选择文件选择文件夹的操作。用Microsoft Office提供的文件对话框比较方便。用法如下Application.FileDialog(fileDialogType)fileDialogTypeMsoFileDialogType类型,...

    在VBA中经常要用到文件对话框来进行打开文件、选择文件或选择文件夹的操作。
    用Microsoft Office提供的文件对话框比较方便。
    用法如下
    Application.FileDialog(fileDialogType)
    fileDialogType      MsoFileDialogType 类型,必需。文件对话框的类型。

      MsoFileDialogType 可为以下 MsoFileDialogType 常量之一。
        msoFileDialogFilePicker  允许用户选择文件。
        msoFileDialogFolderPicker  允许用户选择一个文件夹。
        msoFileDialogOpen  允许用户打开文件。用Excel打开。
        msoFileDialogSaveAs  允许用户保存一个文件。

    分别举例如下:

    1、msoFileDialogFilePicker 
    1)选择单个文件

    复制内容到剪贴板
    代码:

    Sub SelectFile()
        '选择单一文件
        'www.okexcel.com.cn
        With Application.FileDialog(msoFileDialogFilePicker)
            .AllowMultiSelect = False
            '单选择
            .Filters.Clear
            '清除文件过滤器
            .Filters.Add "Excel Files", "*.xls;*.xlw"
            .Filters.Add "All Files", "*.*"
            '设置两个文件过滤器
            If .Show = -1 Then
                'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果您按 OK)和 0(如果您按 Cancel)。
                MsgBox "您选择的文件是:" & .SelectedItems(1), vbOKOnly + vbInformation, "智能Excel"
            End If
        End With
    End Sub

    2)选择多个文件

    复制内容到剪贴板
    代码:
    Sub SelectFile()
        '选择多个文件
        'www.okexcel.com.cn
        Dim l As Long
        With Application.FileDialog(msoFileDialogFilePicker)
            .AllowMultiSelect = True
            '单选择
            .Filters.Clear
            '清除文件过滤器
            .Filters.Add "Excel Files", "*.xls;*.xlw"
            .Filters.Add "All Files", "*.*"
            '设置两个文件过滤器
            .Show
            'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果您按 OK)和 0(如果您按 Cancel)。
            For l = 1 To .SelectedItems.Count
                MsgBox "您选择的文件是:" & .SelectedItems(l), vbOKOnly + vbInformation, "智能Excel"
            Next
        End With
    End Sub

    2、msoFileDialogFolderPicker

    复制内容到剪贴板
    代码:
    Sub SelectFolder()
        '选择单一文件
        'www.okexcel.com.cn
        With Application.FileDialog(msoFileDialogFolderPicker)
            If .Show = -1 Then
            'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果您按 OK)和 0(如果您按 Cancel)。
                MsgBox "您选择的文件夹是:" & .SelectedItems(1), vbOKOnly + vbInformation, "智能Excel"
            End If
        End With
    End Sub

    文件夹仅能选择一个

    3、msoFileDialogOpen
    4、msoFileDialogSaveAs

    使用方法与前两种相同
    只是在.show
    可以用.Execute方法来实际打开或者保存文件。

    转载于:https://www.cnblogs.com/shida-liu/p/9242524.html

    展开全文
  • vba完整的例子,有用户窗口操作,选择文件操作,读取文件,进行逻辑计算,获得结果,输出到excel表中。贪心算法,欧几里得定律。
  • VBA 文件对话框

    千次阅读 2019-08-13 20:31:11
    此属性对 “文件夹选取器” 对话框或 “另存为” 对话框无效,因为用户永远无法从这些类型的文件对话框选择多个文件。 InitialFileName 属性,读/写,设置或返回一个 String 类型的值,代表文件对话框中初始...

    语法:

    	expression.FileDialog(fileDialogType )
    	expression,一个代表 Application 对象的变量。
    	通常写作	 Application.filedialog(fileDialogType)
    

    参数

    名称必需/可选数据类型说明
    fileDialogType必需MsoFileDialogType文件对话框的类型

    其中,fileDialogType 必需 MsoFileDialogType 文件对话框的类型。
    MsoFileDialogType 可为下述常量之一:

    常量说明
    msoFileDialogOpen1允许用户打开文件
    msoFileDialogSaveAs2允许用户保存文件
    msoFileDialogFilePicker3允许用户选择文件
    msoFileDialogFolderPicker4允许用户选择文件夹

    FildDialog 对象的 Show 方法

    当设置完FileDialog 对象的基本属性后,需要使用 Show 方法打开对话框。
    Show 方法具有一个返回值:当用户选择文件(夹)后,返回 -1;当用户未选择或者直接关闭对话框,则返回 0。

    FildDialog 对象的Execute 方法

    当用户选择某个文件后,若 FileDialog 类型为 msoFileDialogOpen 或 msoFileDialogSaveAs 时,则该对象的 Execute 方法执行打开或者保存文件的操作。

    FildDialog对象的常用属性及其介绍

    说明读/写
    .Filters文件筛选文本对象只读
    .FilterIndex文件筛选的序号读/写
    .ButtonName按钮显示的文本读/写
    .Title对话框的标题读/写
    .AllowMultiSelect是否允许选择多个文件读/写
    .InitialFileName可选项,默认打开的地址读/写
    .InitialView文件排列的默认视图读/写
    .SelectedItems获取 FileDialogSelectedItems 集合只读
    • Filters属性,返回一个FileDiabogFilters集合对象。可以使用其Clear方法和Delete方法删除筛选的项目,也可以使用Add方法添加筛选项目,其Add方法如下(参考 “示例1):

        Filters.add(Descriptions, Extensions, [Position])
      
    参数类型说明示例
    Descriptions文本文件类型的描述
    Extension文本文件类型的扩展名,可以由逗号或分号隔开多个相同描述的扩展名如:*.gif, *.jpg, *.jpeg
    Position添加文件类型的项目位置,该参数从1开始
    • FilterIndex属性表示要默认显示的 “文件筛选类型”,其对应 Filters属性的 “Position”参数,参考 “示例1”

    示例1

    Sub Main()
    
      Dim fd As FileDialog
      Dim vrtSelectedItem As Variant
      
      Set fd = Application.FileDialog(msoFileDialogFilePicker)
      
      With fd
        .Filters.Clear 			'清除现有的文件类型
        .Filters.Add "Images", "*.gif; *.jpg; *.jpeg", 1  	'添加选择文件类型
        .Filters.Add "自定义格式类型", "*.格式1; *.格式2", 2
        .Filters.Add "所有文件", "*.*", 3
        
        .FilterIndex = 2		'默认显示的 “文件筛选类型”	
        
        If .Show = -1 Then  	'显示窗体
          For Each vrtSelectedItem In .SelectedItems 		'遍历所有选择的文件
            MsgBox "Selected item's path: " & vrtSelectedItem
          Next vrtSelectedItem
        Else
        End If
      End With
      
      Set fd = Nothing  '清空对象
    End Sub
    
    

    在这里插入图片描述

    • ButtonName 属性,读/写,设置或获取代表文件对话框中动作按钮上所显示文本的 String 类型的值,通常可以使用其默认属性,无需特殊设置。
    • Title属性,读/写,设置对话框标题,其长度不可超过127字符,通常可使用其默认属性,无需单独设置。
    • AllowMultiSelect 属性,读/写,是否允许选择多个文件,True 允许多选,False 不允许多选
      注:
      1. 此属性对 “文件夹选取器” 对话框或 “另存为” 对话框无效,因为用户永远无法从这些类型的文件对话框中选择多个文件。
    • InitialFileName 属性,读/写,设置或返回一个 String 类型的值,代表文件对话框中初始显示的路径或文件名。
      注:
      1. 指定文件名时可以使用 * 和 ? 通配符,但在指定路径时则不能使用它们。
      2. 如果指定了路径而没有指定文件名,则对话框中将显示文件筛选器所允许的所有文件。
      3. 如果指定了位于初始文件夹中的某个文件,则对话框中只显示该文件。
      4. 如果指定了并不存在于初始文件夹中的文件名,则对话框将不包含任何文件。
      5. 你在 InitialFileName 属性中指定的文件类型将覆盖文件筛选器设置。
      6. 如果指定了无效路径,则将使用上次使用的路径。
      7. 如果使用无效路径,则系统会向用户发出警告消息。
      8. 将此属性设置为长度超过 256 个字符的字符串会导致运行时错误。
    • InitialView 属性,读/写,获取或设置一个 “MsoFileDialogView ” 常量, 该常量代表文件和文件夹在文件对话框中的默认显示样式。
      其值可以参考链接: MsoFileDialogView 枚举 (Office)
    • SelectedItems 属性,只读,获取 FileDialogFilters 集合
      当 FileDialog 对象的方法 Show = -1,即用户选择了文件(夹)对象,则返回用户在文件对话框中所选的文件的路径列表。

    示例

    在此示例中,Microsoft Excel 打开文件对话框,允许用户选择一个或多个文件。 选择这些文件后,Excel 会在单独的消息中显示每个文件的路径。

    Sub UseFileDialogOpen() 
        Dim lngCount As Long 
        With Application.FileDialog(msoFileDialogOpen) 	'对话框为 打开文件 样式
            .AllowMultiSelect = True 
            .Show
            For lngCount = 1 To .SelectedItems.Count 
                MsgBox .SelectedItems(lngCount) 
            Next lngCount 
        End With 
    End Sub
    

    以下代码创建一个选择文件夹的对话框:

    Sub UseFolder
    	dim fd as FileDialog
    	dim fp as string
    	Set fd = Application.FileDialog(msoFileDialogFolderPicker)	'对话框为 选择文件夹 样式
        With fd
          .InitialFileName = ActiveWorkbook.path
          If .Show = -1 Then		'如果进行了选择并确认
            fp = .SelectedItems(1)	'fp = 选中的文件夹地址
            Msgbox fp
          Else
            Set fd = Nothing
            Exit Sub				'退出程序
          End If
        End With
    end Sub
    

    自定义示例:

    With Application.FileDialog(fileDialogType)
       .InitialFileName = filepath  '可选项,默认打开的地址
       .AllowMultiSelect = False
      If .Show Then P = .SelectedItems(1) Else: Exit Sub
    End With
    
    
    展开全文
  • Sub open_file() filenameobj = Application.GetOpenFilename("Excel(*.xls, *.xlsx),*.xls,*.xlsx") MsgBox filenameobj End Sub 参考 https://blog.csdn.net/henryghx/article/details/26973319
    Sub open_file()
    
    
    filenameobj = Application.GetOpenFilename("Excel(*.xls, *.xlsx),*.xls,*.xlsx")
    
    
    MsgBox filenameobj
    
    End Sub
    

    参考
    https://blog.csdn.net/henryghx/article/details/26973319

    展开全文
  • 获取文件路径: Public Sub 文件路径()  Dim strFolder As String  '差异:msoFileDialogFilePicker  With Application.FileDialog... '文件对话框的题目,根据个人情况进行设定  .Title = "Select F...

    获取文件路径:

    Public Sub 文件路径()
        Dim strFolder As String
        '差异:msoFileDialogFilePicker
        With Application.FileDialog(msoFileDialogFilePicker)

            '文件对话框的题目,根据个人情况进行设定
            .Title = "Select File"

            '默认打开的文件对话框路径,此处是d盘
            .InitialFileName = "d:\"
            If .Show Then

                '获取到路径
                strFolder= .SelectedItems(1)
            End If
        End With
    End Sub

    获取文件夹路径:

    Public Sub 文件夹路径()
        Dim strFolder As String
         '差异:msoFileDialogFolderPicker
        With Application.FileDialog(msoFileDialogFolderPicker)
            .Title = "Select Folder"
            .InitialFileName = "d:\"
            If .Show Then
                strFolder= .SelectedItems(1)
            End If
        End With
    End Sub

     

     

     

    展开全文
  • Function 选择文件(Optional Title As String = "选择文件", Optional Multi As Boolean = False, _ Optional FileDescription As String = "所有文件", Optional FileType As String = "*.*") As Variant
  • VBA-选择文件对话框

    2015-09-17 13:57:29
    '打开选择路径对话框 '@strTitle 对话框标题名 '@strTypesDec 选择文件类型名(多文件名时用"|"连接) "Images|All files" '@strExten 选择文件类型(一个文件名有多个读取类型时用";"连接,多个文件名用|连接...
  • EXCEL VBA 选择文件对话框

    万次阅读 2013-08-20 15:13:53
    Sub XXX() Dim arr() arr = Application.GetOpenFilename("所有支付文件 (*.xls;...*.csv,Excel 文件 (*.xls),*.xls,Excel2007 文件 (*.xlsx),*.xlsx,CSV 文件 (*.csv),*.csv", , "选择文件", , T
  • VBA 自定义对话框

    2020-08-17 22:09:45
    今天主要讲讲自定义对话框这一章,中间鸽了一小部分的函数过程,WindowsAPI、连接数据库的内容还没学,后续再更新。 一、inputbox inputbox输入框之前已经用过了,但是除了之前VBA中用的inputbox之外,还有...
  • Sub SelectFolder() Dim Path As String With Application.FileDialog(msoFileDialogFolderPicker) ... 'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果按 OK)和 0(如果按 Cancel) ...
  • fileSaveName = Application.GetSaveAsFilename( _ fileFilter:="Text Files (*.txt), *.txt") If fileSaveName <> False Then MsgBox "Save as " & fileSaveName End If 参考链接
  • vba另存为按钮,代码原件。可直接复制插入
  • VBA-使用msgbox对话框

    千次阅读 2020-02-29 20:41:00
    使用msgbox对话框 在使用 Excel 的过程中,如果需要向用户显示简单的提示信息,可以使用 MsgBox 函数显示一个消息框,其格式为:MsgBox(prompt[, buttons] [, title] [, helpfile, context]) prompt:必须项,代表...
  • VBA自定义函数-保存文件对话框

    千次阅读 2017-12-07 14:42:17
    Function 保存文件(Optional Title As String = "保存文件") As Variant With Application.FileDialog(msoFileDialogSaveAs) '2 .Title = Title .InitialFileName = Environ("userprofile") & "\Desktop
  • VBA 浏览文件夹对话框调用实现代码。大家可以根据需要选择
  • '选择文件夹(http://blog.sina.com.cn/s/blog_55fc7c2f0101mb4t.html): Option Explicit 'http://www.mvps.org/access/api/api0002.htm 'Code courtesy of Terry Kreft Private Type BROWSEINFO hOw...
  • Function 选择文件夹(Optional Title As String = "选择一个文件夹") As Variant With Application.FileDialog(msoFileDialogFolderPicker) '4 .Title = Title .InitialFileName = Environ("userprofile") &
  • EXCEL-VBA:弹出对话框,打开文件(指定扩展名)
  • Excel VBA获取选择文件文件名称

    千次阅读 2020-10-20 10:50:20
    '打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant Dim i As Integer File = Application.GetOpenFilename("Excel 文件,*.xls;*.xlsx;*.xlsm") '调用Windows打开文件...
  • VBA编程中我们,常常需要手动打开文件选择框、取得文件全路径与文件名,下载这个例子可以实现这些功能,代码如下: [code="c#"] 'VBA打开文件选择框、取得文件全路径与文件名 Sub selectExcelfile...
  • 本文介绍在 CorelDRAW VBA中使用官方原生工具 CorelScriptTools 调用文件对话框选择文件并获得文件路径的VBA代码。其提供的 GetFileBox 方法可用来打开文件对话框(或者另存为对话框)。 CorelScriptTools ...
  • Function 打开文件(Optional Title As String = "选择文件", Optional Multi As Boolean = False, _ Optional FileDescription As String = "所有文件", Optional FileType As String = "*.*") As Variant
  • Excel 打开对话框,获取文件夹路径 'Window「参照」ダイアログで選択したItem 名を取得 Public Function GetFolderName(ByVal DialogType As MsoFileDialogType) As String With Application.FileDialog(DialogType...
  • EXCEL-VBA:调用打开文件夹对话框选择路径
  • VBA中经常要用到文件对话框来进行打开文件选择文件选择文件夹的操作。 用Microsoft Office提供的文件对话框比较方便。 用法如下 Application.FileDialog(fileDialogType) fileDialogType ...
  • 注意引用 microsoft office 10.0 (或以上) object library 在文件对话框对中返回选择一个文件夹的路径. Public Function ChooseFolder() As String Dim dlgOpen As FileDialog Set d
  • VBA调用InternetExplorer操作IE浏览器,自动弹出文件选择对话框时,VBA会处于阻塞状态,你必须手工关闭文件选择对话框VBA才能继续向后运行。 例如下面网址,就有一个文件浏览按钮: ... 我做了一个exe文件,可以在...
  • 如果一个工作簿的自定函数想在另外的excel 文件中使用的话,最好的方就通过另存为加载宏的方式,加载宏的具体的用法前面已经说过了这里不再赘述 vba 函数可以返回数组,只要将函数名变量赋值为数组即可 二、函数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,997
精华内容 1,598
关键字:

vba对话框选择文件