Excel_VBA实现:弹出对话框进行打开另存(附FileDialog 属性)

excel_vba可实现弹窗进行人机交互,本案例实现弹窗选择需要打开的excel文件,选择文件后打开该文件,然后弹窗提示该文件另存为路径及目录,代码如下:

复制代码
Sub 打开文件对话框()
On Error Resume Next
With Application.FileDialog(msoFileDialogOpen)
    .Title = "请选择你要的文件"
    .AllowMultiSelect = True
    .InitialFileName = "C:\Users\Administrator\Desktop\"
    .Filters.Clear
    .Filters.Add "excel files", "*.xls,*.xlsx,*.dwg"
    If .Show = True Then
    Set gof = .SelectedItems
    .Execute
    Else: Exit Sub
    End If
End With
ActiveSheet.Cells(11, 5).Value = gof.Item(1)
MsgBox "另存为"
With Application.FileDialog(msoFileDialogSaveAs)
    .Title = "另存为"
    .AllowMultiSelect = True
    .InitialFileName = "C:\Users\Administrator\Desktop\"
   
    If .Show = True Then
    Set gof = .SelectedItems
    .Execute
    Else: Exit Sub
    End If
End With
'ActiveWorkbook.Close
End Sub

Application.FileDialog 属性 (Excel)

本文内容

  1. 语法
  2. 参数
  3. 备注
  4. 示例

返回一个 FileDialog 对象,它表示文件对话框的实例。

语法

expression .FileDialog (fileDialogType)

expression :表示 Application 对象的变量。

参数

展开表

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

备注

MsoFileDialogType 可为下述常量之一:

  • msoFileDialogFilePicker。 允许用户选择文件。
  • msoFileDialogFolderPicker。 允许用户选择文件夹。
  • msoFileDialogOpen。 允许用户打开文件。
  • msoFileDialogSaveAs。 允许用户保存文件。

示例

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

VB复制

复制代码
Sub UseFileDialogOpen() 
 
    Dim lngCount As Long 
 
    ' Open the file dialog 
    With Application.FileDialog(msoFileDialogOpen) 
        .AllowMultiSelect = True 
        .Show 
 
        ' Display paths of each file selected 
        For lngCount = 1 To .SelectedItems.Count 
            MsgBox .SelectedItems(lngCount) 
        Next lngCount 
 
    End With 
 
End Sub
相关推荐
子兮曰1 小时前
async/await高级模式:async迭代器、错误边界与并发控制
前端·javascript·github
恋猫de小郭1 小时前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
GIS之路3 小时前
ArcGIS Pro 中的 Notebooks 入门
前端
IT_陈寒5 小时前
React状态管理终极对决:Redux vs Context API谁更胜一筹?
前端·人工智能·后端
Kagol6 小时前
TinyVue 支持 Skills 啦!现在你可以让 AI 使用 TinyVue 组件搭建项目
前端·agent·ai编程
柳杉6 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau6 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生6 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
天蓝色的鱼鱼6 小时前
模块化与组件化:90%的前端开发者都没搞懂的本质区别
前端·架构·代码规范
明君879976 小时前
Flutter 如何给图片添加多行文字水印
前端·flutter