dialogs打开对话框选定文件夹,getopenfilename获取文件名
如果需要使用“打开”、“打印”等Excel内置对话框已经具有的功能,可以使用代码直接调用这些内置的对话框,如下面的代码所示。
#001 Sub DialogOpen()
#002 Application.Dialogs(xlDialogOpen).Show arg1:=ThisWorkbook.Path & "\*.xls"
#003 End Sub
代码解析:
DialogOpen过程显示内置的“打开”对话框并选定示例所在的文件夹。
显示内置对话框语法如下:
Application.Dialogs(xlDialogConst).Show
Dialogs集合代表所有的内置对话框,每个Dialog对象代表一个内置对话框,不能新建内置对话框或向该集合中添加内置对话框。
参数xlDialogConst是内置对话框的内置常量,每个常量都以“xlDialog”开头,其后是对话框的名称,如“打开”对话框的常量为“xlDialogOpen”。常用内置对话框的内置常量如表格 77‑1所示。
|
常量 |
值 |
说明 |
|
xlDialogActiveCellFont |
476 |
单元格格式(字体) |
|
xlDialogBorder |
45 |
单元格格式(边框) |
|
xlDialogCellProtection |
46 |
单元格格式(保护) |
|
xlDialogDeleteFormat |
111 |
单元格格式(数字) |
|
xlDialogFormatNumber |
42 |
单元格格式(数字) |
|
xlDialogPatterns |
84 |
单元格格式(图案) |
|
xlDialogClear |
52 |
清除 |
|
xlDialogColumnWidth |
47 |
列宽 |
|
xlDialogRowHeight |
127 |
行高 |
|
xlDialogConditionalFormatting |
583 |
条件格式 |
|
xlDialogDefineName |
61 |
定义名称 |
|
xlDialogDefineStyle |
229 |
样式 |
|
xlDialogDisplay |
27 |
显示选项 |
|
xlDialogFont |
26 |
字体 |
|
xlDialogSetBackgroundPicture |
509 |
工作表背景 |
|
xlDialogInsert |
55 |
插入 |
|
xlDialogInsertHyperlink |
596 |
插入超链接 |
|
xlDialogInsertPicture |
342 |
插入图片 |
|
xlDialogNew |
119 |
新建工作簿 |
|
xlDialogOpen |
1 |
打开 |
|
xlDialogSaveAs |
5 |
另存为 |
|
xlDialogWorkbookCopy |
283 |
移动或复制工作表(建立副本) |
|
xlDialogWorkbookInsert |
354 |
插入工作表 |
|
xlDialogWorkbookMove |
282 |
移动或复制工作表 |
|
xlDialogWorkbookName |
386 |
重命名工作表 |
|
xlDialogWorkbookNew |
302 |
新建工作表 |
|
xlDialogWorkbookProtect |
417 |
保护工作簿 |
|
xlDialogPageSetup |
7 |
页面设置 |
|
xlDialogPrint |
8 |
打印内容 |
|
xlDialogPrinterSetup |
9 |
打印机设置 |
|
xlDialogPrintPreview |
222 |
打印预览 |
|
xlDialogSetPrintTitles |
23 |
设置打印标题 |
|
xlDialogRun |
17 |
宏 |
|
xlDialogTable |
41 |
模拟运算表 |
|
xlDialogSendMail |
189 |
发送邮件 |
表格 77‑1 内置对话框的内置常量
显示内置对话框使用Show方法,应用于Dialog对象的Show方法语法如下:
expression.Show(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30)
参数expression是必需的,返回Dialog对象之一。
参数arg1到参数arg30是可选的,仅应用于内置对话框,是命令的初始参数。若要查找要设置的参数,请在内置对话框参数列表中查找对应的对话框常量。
运行alogOpen过程,显示内置的“打开”对话框,并且直接选定示例所在的文件夹,如图 77‑1所示。
1-1 获取选定文件的文件名
如果只希望获取用户在显示的内置 “打开”对话框中选定文件的文件名,而不想真正打开该文件,那么可以使用GetOpenFilename方法,如下面的代码所示。
#001 Sub OpenFilename()
#002 Dim Filename As Variant
#003 Dim mymsg As Integer
#004 Dim i As Integer
#005 Filename = Application.GetOpenFilename(Title:="删除文件", MultiSelect:=True)
#006 If IsArray(Filename) Then
#007 mymsg = MsgBox("是否删除所选文件?", vbYesNo, "提示")
#008 If mymsg = vbYes Then
#009 For i = 1 To UBound(Filename)
#010 Kill Filename(i)
#011 Next
#012 End If
#013 End If
#014 End Sub
代码解析:
OpenFilename过程使用GetOpenFilename方法显示标准的内置“打开”对话框,获取用户选定文件的文件名后使用Kill语句删除。
GetOpenFilename方法显示标准的内置“打开”对话框,获取文件名,语法如下:
expression.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
参数expression是必需的,返回一个Application对象。
参数FileFilter是可选的,指定文件筛选条件的字符串。如果省略,则默认参数值为“所有文件(*.*)”。
参数FilterIndex是可选的,指定默认文件筛选条件的索引号,取值范围为 1 到由 FileFilter 所指定的筛选条件数目。如果省略,或者取值大于可用筛选数目,则采用第一个文件筛选条件。
参数Title是可选的,指定对话框的标题。如果省略,则使用“打开”作为标题。
参数ButtonText是可选的,仅用于Macintosh。
参数MultiSelect是可选的,如果该值为True,则允许选定多个文件名,如果该值为False,则只允许选定单个文件名。默认值为False。
第5行代码显示标准的“打开”对话框,将对话框的标题设置为“删除文件”,将MultiSelect参数设置为True,允许选定多个文件。
第6行代码,获得返回值。当用户选定文件后,返回的是选定的文件名或用户输入的文件名。因为MultiSelect参数已设置为True,所以返回值将是一个包含所有选定文件名的数组(即使仅选定了一个文件名)。如果用户取消了对话框,则该值为False。
第8行到第12行代码,经询问用户后使用Kill语句从磁盘中删除用户选定的文件。
运行OpenFilename过程,显示标准的内置“打开”对话框,删除用户选定的文件,如所图 77‑2示。
图 77‑2 获取用户选定文件的文件名
注意 VBA中数组下界默认从0开始,但使用GetOpenFilename方法选择多个文件时返回的包含选定文件名的数组下界是从1开始。
dialogs打开对话框选定文件夹,getopenfilename获取文件名的更多相关文章
- 使用OpenFileDialog打开文件和使用FolderBrowserDialog选定文件夹
选定文件夹 string foldPath = ""; FolderBrowserDialog dialog = new FolderBrowserDialog(); dialog ...
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...
- cocos2d-x3.2下获取文件夹下所有文件名的方法
这里提供一个函数获取文件夹下所有文件名的方法,直接上代码了. 原文地址:http://blog.csdn.net/qqmcy/article/details/36184733 // // Visib ...
- Qt打开外部程序和文件夹需要注意的细节(Qt调用VC写的动态库,VC需要用C的方式输出函数,否则MinGW32编译过程会报错)
下午写程序中遇到几个小细节,需要在这里记录一下. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 QProcess *process = new QProcess(this ...
- Android:创建文件或文件夹以及获取sd卡根目录
目录结构: 功能,可以根据录入的目录或者文件夹生成相应的文件或者文件夹 首先需要添加一个权限: <uses-permission android:name="android.permi ...
- JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤
JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常 ...
- Python获取指定文件夹下的文件名
本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...
- Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录
Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...
- [C#]Windows系统特殊文件夹路径获取
原文:[C#]Windows系统特殊文件夹路径获取 由于软件开发的需要,近期对Windows特殊文件夹(如桌面,我的文档等)路径的查找方法进行了研究,结果如下. 获取特殊文件夹的方法不止一种,下面列出 ...
随机推荐
- 洛谷 P4173 残缺的字符串 (FFT)
题目链接:P4173 残缺的字符串 题意 给定长度为 \(m\) 的模式串和长度为 \(n\) 的目标串,两个串都带有通配符,求所有匹配的位置. 思路 FFT 带有通配符的字符串匹配问题. 设模式串为 ...
- 专题:OpenSSL
一.常用操作 对称加密: openssl enc -e -aes256 -base64 -in goal.file -out result.file 加密,-base64 指使用 base64 編码 ...
- 列表分成N等份
将一个长列表分为N个短列表 def Equal_division_list(eq_list, n): ''' :param seq:传入的列表 :param n:划分的份数,几等分 :return:返 ...
- Java中有趣的String、StringBuffer与StringBuilder
String介绍 String类属于java.lang包中,String类是不可变类,任何对String的改变都会引发新的String对象的生成. 创建String的两种方式: 1.通过构造器创建:S ...
- Python面试题之阅读下面的代码,写出A0,A1至An的最终值
A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5))) A1 = range(10) A2 = [i for i in A1 if i in A0] A3 ...
- webapi 给自己挖的坑
这次做项目,负责开发web api. 自己给自己挖了个坑.在所有的api接口前面都加上一个static . 结果检查路由配置.代码等等都找不到问题所在. 最后在一个同事的提醒下,原来是static给惹 ...
- VMWare 禁用虚拟内存文件(*.vmem)
1.使用 VMWare 虚拟机,虚拟机启动后,会在虚拟机目录下建立一个与虚拟内存大小相同的 .vmem文件,例如:564db13c-c92d-3d3a-41a0-f62af7536fda.vmem. ...
- 关于print()里面的sep和end参数的使用
print('hello', 'world') #默认用空格隔开 #hello world print('hello', 'world', sep='wuli') #sep=''可以用来设置连接的字符 ...
- Tools: java安装指南
参考: https://www.cnblogs.com/smyhvae/p/3788534.htmljava安装 (1)新建->变量名"JAVA_HOME",变量值" ...
- SolidWorks直线命令快捷转换为圆弧命令
在进行草图绘制的时候,有时候需要切换到圆弧命令,此时来回切换比较麻烦, 我们可以将鼠标回碰线段起点,此时便成为了圆弧工具. 再次回碰,可改变圆心方向 利用鼠标操作,快捷切换绘图工具.