• 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开始。

  • 相关阅读:
    How ASP.NET MVC Works?[持续更新中…]
    PortalBasic Web 应用开发框架
    .NET性能分析最佳实践之:如何找出使用过多内存的.NET代码(基础篇)
    js模块化开发js大项目代码组织和多人协作的解决之道
    PortalBasic Web 应用开发框架:应用篇(二) —— Action 使用
    细细品味Hadoop_Hadoop集群(第2期)_机器信息分布表
    msmvps.comblogs
    敏捷开发中编写故事应该符合的条件
    自己动手重新实现LINQ to Objects: 12 DefaultIfEmpty
    我的时间管理——充分利用WindowsPhone、Android等设备,实现真正的无压工作!
  • 原文地址:https://www.cnblogs.com/shida-liu/p/9243724.html
Copyright © 2020-2023  润新知