iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >VBS如何显示选择文件或文件夹对话框
  • 636
分享到

VBS如何显示选择文件或文件夹对话框

2023-06-08 09:06:35 636人浏览 安东尼
摘要

这篇文章主要为大家展示了“VBS如何显示选择文件或文件夹对话框”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VBS如何显示选择文件或文件夹对话框”这篇文章吧。一、显示“选择文件”的对话框问: 嗨

这篇文章主要为大家展示了“VBS如何显示选择文件或文件夹对话框”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VBS如何显示选择文件或文件夹对话框”这篇文章吧。

一、显示“选择文件”的对话框

问: 嗨,Scripting Guy!有没有什么方法可以让我使用脚本向用户显示一个对话框,供用户选择文件使用?

答:您好。|
  如果您使用的是 windows 2000,我们不知道实现此操作的方法,至少操作系统中没有内置这样的方法。
  但如果您使用的是 Windows XP,情况就不同了。在 Windows XP 上,您可以使用"UserAccounts.CommonDialog” 对象向用户显示一个标准的“文件打开”对话框。

      可以用类似以下代码的脚本:

 代码如下:


Set objDialog = CreateObject("UserAccounts.CommonDialog")

objDialog.Filter = "All Files|*.*"
objDialog.InitialDir = "C:\"
intResult = objDialog.ShowOpen
If intResult = 0 Then
Wscript.Quit
Else
Wscript.Echo objDialog.FileName
End If


      这是一个小脚本,所以让我们逐行进行解释吧:

1)我们首先创建一个对 UserAccounts.CommonDialog 对象的对象引用(名为“objDialog”)。

2)接着,我们设置对话框的“筛选”属性。我们要显示所有文件,所以我们将筛选设置成这样:
          objDialog.Filter = "All Files|*.*"

     假如我们只想显示文本文件,那该怎么办?在这种情况下,我们将使用以下筛选:
          objDialog.Filter = "Text Files|*.txt"

      您也许能够看出它是如何运行的:我们为文件类型提供说明 (Text Files),然后插入一个竖线分隔符 (|),最后使用标准的通配符来指示所有 .txt 文件 (*.txt)。
      是不是想默认显示 .txt 文件,然后为用户提供查看所有文件的选项?那么可以使用以下代码:
          objDialog.Filter = "Text Files|*.txt|All Files|*.*"

      试一试,您就明白我们的意思了。

3)然后,我们指定默认文件夹。
      默认情况下,我们希望对话框显示位于驱动器 C 的根文件夹中的文件,所以我们这样设置“InitialDir”属性:
          objDialog.InitialDir = "C:\"

      希望显示 C:\Windows 文件夹中的文件吗?那么可以使用以下代码:
          objDialog.InitialDir = "C:\Windows"

      不必担心:这是一个真正的“文件打开”对话框,所以您可以随意单击,并且可以随时停下来。您从 C:\Windows 开始并不意味着您只能打开该文件夹中的文件。

4)最后,我们使用下面这行代码显示对话框:

          intResult = objDialog.ShowOpen

  现在,我们只需坐下来,等待用户选择文件并单击“确定”(或者等待用户单击“取消”)。
  如果用户单击“取消”,则变量 intResult 将被设置为 0。在我们的脚本中,我们检查 intResult 的值,如果是 0,我们将只需要使用 Wscript.Quit 来终止此脚本。
  但是如果用户实际上选择了文件并单击了“确定”,那该怎么办?在这种情况下,intResult 将被设置为 -1,“FileDialog”属性将被设置为所选文件的路径名。我们的脚本只回显路径名,这意味着我们将得到类似以下内容的输出:

          C:\WINDOWS\Prairie Wind.bmp

  不用说,您并不局限于只回显文件路径。实际上,您可以使用 WMI、FileSystemObject 或一些其他技术来绑定该文件,然后对其执行删除、复制、压缩或检索文件属性等操作 — 您对文件能够执行的操作差不多都可以对它执行。

  但无论如何,您都需要使用脚本。

  顺便说一句,使用此方法,您一次只能选择一个文件,而不能按住“Ctrl”键选择多个文件。有一种方法可以选择多个文件,至少在 XP 计算机上可以,但是我们只能将此问题留到以后的专栏中讨论了。

二、显示“选择文件夹”对话框?

问:嗨,脚本专家!在前面的专栏中,您为我们展示了如何给用户显示对话框,使他们能够选择文件。存在给用户显示一个对话框,只让他们选择文件夹的办法吗?

答:您好。

  实际上,我们有 BrowseForFolder 方法,它是 Windows shell 对象的一部分。

  让我给您一个脚本示例,然后讲一下它的工作方式:

复制代码 代码如下:


 Const WINDOW_HANDLE = 0
    Const OPTioNS = 0
    Set objshell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder _
    (WINDOW_HANDLE, "Select a folder:", OPTIONS, "C:\")
    If objFolder Is Nothing Then
    Wscript.Quit
    End If
    Set objFolderItem = objFolder.Self
    objPath = objFolderItem.Path
    Wscript.Echo objPath


  首先,我们定义一对常量:WINDOW_HANDLE 和 OPTIONS。
  WINDOW_HANDLE 常量表示需要指定给要显示的对话框的数字 ID;对于脚本,此值应始终为 0。
  将 OPTIONS 设置为 0 表示我们将显示一个非常简单的对话框,一个限制用户只从文件夹列表进行选择的对话框。或者,我们可以将 OPTIONS 设置成 &H10&。这种情况下,我们的对话框将包括文本区,用户可以在此键入文件夹路径。

  定义完常量后,我们创建 Shell.Application 对象的实例,然后使用以下代码显示“浏览文件夹”对话框:
    Set objFolder = objShell.BrowseForFolder _
    (WINDOW_HANDLE, "Select a folder:", OPTIONS, "C:\")

  您可以看到,我们只是调用 BrowseForFolder 方法,传递了四个参数:
    WINDOW_HANDLE,正如我们所说明的,是分配给对话框窗口的数字 ID。
    文本字符串 Select a folder:,将作为显示在对话框中的说明性消息。
    OPTIONS,表示构造对话框所用选项的常量。
    C:\,将作为对话框的根文件夹。对话框将打开 C:\,但不允许您选择树视图中较上方的文件位置(例如,您不能选择“我的电脑”)。如果将根文件夹设置为 C:\Scripts,则将只允许用户选择文件夹 C:\Scripts 及其所有子文件夹。

  该代码将产生一个类似屏幕上显示的对话框。
  (您是否有疑问,是的,您以前曾见过此对话框。许多 Windows 应用程序使用同样的方法,同样的对话框。)

  此时,我们的脚本暂停,等候用户选择文件夹并单击确定,或者单击取消。当用户进行了这两个操作之一,对话框将被清除,操作将存储在对象引用 objFolder 中。

  那么我们如何知道用户是否选择了一个文件夹并单击了确定,或者只单击了取消?以下代码块就用来解决这个问题:
    If objFolder Is Nothing Then
    Wscript.Quit
    End If

  该代码检查我们的对象引用 (objFolder) 是否等于一个真正对象(这是关键字 Nothing 的用途)。如果 objFolder 等于 Nothing,则意味着用户单击了取消;如果是那样的话,我们只简单用 Wscript.Quit 退出脚本。如果 objFolder 不等于 Nothing,那么 objFolder 一定指向一个真正的对象;于是脚本将继续运行。

  由于 Shell 对象的特点,以下两行代码是必要的:
    Set objFolderItem = objFolder.Self
    objPath = objFolderItem.Path

  当用户选择文件夹并单击确定,他们将得到 Shell Folder 对象的实例。然而,由于某些原因您不能使用 Shell Folder 对象;如果我们要检索选定文件夹的路径,我们得用 FolderItem 对象来代替。(为什么是这样呢?我们不知道。)于是,我们的第一行代码使用 Self 方法返回一个 FolderItem 对象,该对象正与我们的 Folder 对象相同。第二行代码将到此 FolderItem 对象的路径存储到变量 objPath 中。看上去有点笨拙,但它确实能够工作。

  最后我们回显到选定文件夹的路径,到此工作既已完成。

  正如我们说明的,示例对话框使用 C:\ 作为根文件夹,不允许您选择位于计算机其他地方的文件夹。有时这样做很好;这样会迫使用户从一组特定文件夹中进行选择。但有时,想使用户能够选择文件系统中任意位置的文件夹。这可能吗?

  当然可以。我们不详述这个修改后的脚本,但该脚本会将“我的电脑”设置为根文件夹:   

复制代码 代码如下:

Const MY_COMPUTER = &H11&
    Const WINDOW_HANDLE = 0
    Const OPTIONS = 0
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(MY_COMPUTER)
    Set objFolderItem = objFolder.Self
    strPath = objFolderItem.Path
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder _
    (WINDOW_HANDLE, "Select a folder:", OPTIONS, strPath)
    If objFolder Is Nothing Then
    Wscript.Quit
    End If
    Set objFolderItem = objFolder.Self
    objPath = objFolderItem.Path
    Wscript.Echo objPath

以上是“VBS如何显示选择文件或文件夹对话框”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: VBS如何显示选择文件或文件夹对话框

本文链接: https://www.lsjlt.com/news/253442.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • VBS如何显示选择文件或文件夹对话框
    这篇文章主要为大家展示了“VBS如何显示选择文件或文件夹对话框”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VBS如何显示选择文件或文件夹对话框”这篇文章吧。一、显示“选择文件”的对话框问: 嗨...
    99+
    2023-06-08
  • vbs,hta中如何实现选择文件夹对话框
    小编给大家分享一下vbs,hta中如何实现选择文件夹对话框,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码如下:on error resume next Sel...
    99+
    2023-06-08
  • python文件选择对话框
    对于python的tkinter库来说,如果需要弹出文件选择框,我们需要引入一下tkinter.filedialog包,让用户直观地先择一个或者多个文件或者保存文件等操作。 常见的文件选择对话框函数有 **打开一个文件:**as...
    99+
    2023-01-31
    对话框 文件 python
  • tkinter 实现选择文件夹或者多个文件
    import tkinter as tk from tkinter import filedialog def select_file():     # 单个文件选择     selected_file_path = filedialog....
    99+
    2023-09-10
    java 数据库 mysql
  • VBS如何遍历文件或文件夹路径输入文件的所有绝对路径
    这篇文章将为大家详细讲解有关VBS如何遍历文件或文件夹路径输入文件的所有绝对路径,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。示例代码如下:Function listFilesPath(file...
    99+
    2023-06-08
  • vbs实现选择文件夹效果代码
    这篇文章主要讲解了“vbs实现选择文件夹效果代码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vbs实现选择文件夹效果代码”吧!不用组件的话有两种办法:  set obj...
    99+
    2023-06-08
  • win7显示文件夹后缀如何显示
    这篇文章主要讲解了“win7显示文件夹后缀如何显示”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win7显示文件夹后缀如何显示”吧!win7文件夹后缀显示的方法一、文件夹后缀文件夹后缀是和系...
    99+
    2023-07-01
  • PyQt5如何实现文件对话框
    本篇内容主要讲解“PyQt5如何实现文件对话框”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PyQt5如何实现文件对话框”吧!文件对话框文件对话框(QFileDialog)用于浏览文件并获取文件...
    99+
    2023-07-05
  • ubuntu如何显示隐藏文件夹
    ubuntu中显示隐藏文件夹的方法:打开主目录使用【ctrl+h+.】即可看见以“.”开头的隐藏文件;2、在主目录中点击主文件夹一栏的下三角按钮并选择“显示隐藏文件”;3、还可以在终端通过“sudo  nautilus”命令打开超...
    99+
    2024-04-02
  • centos如何显示隐藏文件夹
    要在CentOS中显示隐藏文件夹,可以使用ls命令来列出所有文件和文件夹,包括以 . 开头的隐藏文件和文件夹。要显示隐藏文件夹,可以...
    99+
    2024-04-09
    centos
  • win10如何显示隐藏文件夹
    这篇文章主要介绍了win10如何显示隐藏文件夹的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇win10如何显示隐藏文件夹文章都会有所收获,下面我们一起来看看吧。win10显示隐藏文件夹:首先随便打开一个文件夹,...
    99+
    2023-07-02
  • windows隐藏文件夹如何显示
    本篇内容介绍了“windows隐藏文件夹如何显示”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在电脑桌面找到“此电脑”,双击打开进入。 在打...
    99+
    2023-07-02
  • win7隐藏文件夹如何显示
    要显示隐藏的文件夹在Windows 7中,您可以按照以下步骤操作:1. 打开"控制面板"。2. 选择"外观和个性化"。3. 点击"文...
    99+
    2023-09-16
    win7
  • windows7隐藏文件夹如何显示
    在Windows 7中,如果您想要显示隐藏的文件夹,可以按照以下步骤操作:1. 打开“控制面板”,可以通过开始菜单中的搜索栏找到。2...
    99+
    2023-10-10
    windows7
  • Win7系统如何显示隐藏文件及文件夹
      在使用电脑的过程中,经常会因为操作不当而使得电脑的一些程序被更改。在这里,小编给大家分享一个Win7如何显示隐藏文件的教程,希望对大家有所帮助。   1:打开我的电脑,找打上栏的rdquo;。      Win7显示...
    99+
    2023-06-13
    Win7 隐藏文件 文件 系统 文件夹
  • PyQt5按下按键选择文件夹并显示的实现
    问题: 使用PyQt5开发桌面程序,实现功能为:按下按键,打开文件夹,选择文件夹,并将路径显示出来。 解决方法: 一、主要函数(直接能运行的代码见二) 1、选择文件夹并显示 ...
    99+
    2024-04-02
  • windows10 20H2隐藏文件夹如何显示
    小编给大家分享一下windows10 20H2隐藏文件夹如何显示,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!win10 20H2显示隐藏文件夹:方法一、进入win10桌面,双击我的电脑打开,进入下一步。在打开的计算机界面...
    99+
    2023-06-10
  • win10如何让文件夹显示大小
    要让Windows 10文件夹显示大小,可以按照以下步骤操作:1. 打开文件资源管理器(可以通过在任务栏上的搜索栏中输入“文件资源管...
    99+
    2023-09-01
    win10
  • 如何在 Python 中删除文件或文件夹?
    问: 如何删除文件或文件夹? 答1: huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。 os.remove() 删除一个文件。...
    99+
    2023-09-05
    python 开发语言 iot c++ ide
  • C#如何删除指定文件或文件夹
    目录C#删除指定文件或文件夹C#根据路径删除文件或文件夹完整代码总结C#删除指定文件或文件夹 public static string deleteOneFile(string fi...
    99+
    2023-01-28
    C#删除指定文件 C#删除文件夹 C#删除文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作