一、shellcase用法
Shell函数用法:
result = Shell("c:\windows\calc.exe", 1)
result = Shell("notepad.exe" & FileName, 1)
result = Shell("command.com /c del *.tmp", 1)
Shell函数用于在VB程序中启动一个外部程序或命令行程序。其中参数为程序的路径及文件名,还有一参数表示程序是否需要启动时最大化显示,如若不需要,可以将此参数设为0。 这里有一些实际的用例:
'启动记事本
Shell("C:\Windows\system32\notepad.exe", vbNormalFocus)
'运行计算器
Shell "C:\Windows\system32\calc.exe", vbNormalFocus
'在默认浏览器中打开网址
Shell "explorer http://www.baidu.com", vbNormalFocus
'在默认浏览器中打开本地HTML网页
Shell "explorer E:\c\index.html", vbNormalFocus
'打开Windows自带的资源管理器(Windows Explorer)
Shell "explorer", vbNormalFocus
'运行计算器,不给它最大化窗口
Shell "C:\Windows\system32\calc.exe", 0
二、shell中sort使用方法
shell的sort命令可以让你按照特定的方式对输入内容进行排序。下面是一些常见的用例:
'按照字母顺序排序文本文件
Shell "sort file.txt /o file.sorted", vbHide
'将一个文件夹中的文件按照名称排序
Shell "cmd /c dir /b | sort > file.txt", vbHide
使用sort命令时,你需要指定输入文件的路径和输出文件的路径。你还可以添加一些额外的参数来改变排序方式或输出格式等。
三、shellexecute关闭程序
shellexecute函数可以用来启动和关闭指定的程序,例如:
'启动Windows Media Player
ShellExecute hWnd, "open", "C:\Program Files\Windows Media Player\wmplayer.exe", "", "", SW_SHOWDEFAULT
'关闭Windows Media Player
ShellExecute hWnd, "close", "wmplayer.exe", "", "", SW_HIDE
在这个例子中,我们使用的是 ShellExecute 函数的第二个参数,其值可以为 "open"(启动一个程序)、"print"(打印一个指定的文件)或 "close"(关闭一个程序)。您需要指定要在其中执行操作的目标程序的名称和路径,以及其他可能的参数。
四、shellexecute failed
使用ShellExecute时,有可能会因为某些原因而出现错误。以下是可能发生错误的一些原因:
- 指定的文件名或路径不存在或无效;
- 目标文件不是一个可执行文件;
- 应用程序或其他程序正在使用该文件(例如,您可能无法删除正在使用中的文件)。 在下面的程序中,我们如何处理 ShellExecute 返回的错误代码:
'启动程序
Dim rc As Long
rc = ShellExecute(hWnd, "open", "C:\Program Files\Windows Media Player\wmplayer.exe", "", "", SW_SHOWDEFAULT)
If rc <= 32 Then
MsgBox "启动程序时出错"
End If
'关闭程序
rc = ShellExecute(hWnd, "close", "wmplayer.exe", "", "", SW_HIDE)
If rc <= 32 Then
MsgBox "关闭程序时出错"
End If
五、shellcase的用法
Shell可以使用一组特殊字符来将输入内容转换为单个命令或语句。以下是各种 shell 用例中可以使用的某些特殊字符:
$n
(其中n为数字)将第n个参数传递给命令或脚本。例如,如果您运行命令的参数为arg1、arg2以及arg3,则您可以使用$1、$2和$3特定字符来访问它们。*
将输入文件夹中的所有文件或文件夹作为参数提供给命令或脚本。?
将文件夹中匹配特定字符(单个字符)的文件名或文件夹名作为参数提供给命令或脚本。{}
将输入字符序列中的一组字符作为参数提供给命令或脚本。您可以使用逗号分隔的序列或连字符分隔的范围(例如{a,b,c}或{1-10})。 以下是一个示例,演示了如何使用上述特殊字符来执行复杂的间接命令行操作:
'将某个文件夹中的HTML文件转换为TXT格式
Shell "cmd.exe /c ""C:\Program Files (x86)\Microsoft Office\Office14\WORDCONV.EXE"" -oice -nme ""C:\input_folder\*.htm"" -omac ""C:\output_folder""", vbMinimizedFocus
在该示例中,我们使用 cmd.exe 命令来启动 WORDCONV.EXE 程序,并使用特定字符将一系列参数传递给该程序。这些参数告诉 WORDCONV.EXE 程序要转换哪个文件夹中的 HTML 文件以及将它们转换为什么文件格式。