Vbscript 如何使此脚本在取消时实际停止?
我有一个工作脚本,但如果用户启动它,然后用“取消”按钮中止,脚本将在文件资源管理器打开的任何目录中生成指定的文件夹。显然那不好。我需要脚本停止,如果用户取消,但我不知道如何做到这一点 代码如下:Vbscript 如何使此脚本在取消时实际停止?,vbscript,Vbscript,我有一个工作脚本,但如果用户启动它,然后用“取消”按钮中止,脚本将在文件资源管理器打开的任何目录中生成指定的文件夹。显然那不好。我需要脚本停止,如果用户取消,但我不知道如何做到这一点 代码如下: ' 26Apr2015 jkw -- q&d Option Explicit Dim g_fso: Set g_fso = CreateObject("Scripting.FileSystemObject") Dim tgt: tgt = BrowseFolder("M:\MarcSto
' 26Apr2015 jkw -- q&d
Option Explicit
Dim g_fso: Set g_fso = CreateObject("Scripting.FileSystemObject")
Dim tgt: tgt = BrowseFolder("M:\MarcStone Bids", False)
Dim subdirs: subdirs = Array(_
"Anchors",_
"Color",_
"Engineering",_
"Mold Drawings",_
"Plans and Specs",_
"Plans and Specs\Plans",_
"Plans and Specs\Specs",_
"Revisions and Cost Changes",_
"Shops",_
"Managing Documents",_
"Managing Documents\Accounting",_
"Managing Documents\Approvals",_
"Managing Documents\Bid Documents",_
"Transmittals"_
)
Dim subdir
For Each subdir in subdirs
g_fso.CreateFolder(tgt & "\" & subdir)
Next
Function BrowseFolder( myStartLocation, blnSimpleDialog )
' This function generates a Browse Folder dialog
' and returns the selected folder as a string.
'
' Arguments:
' myStartLocation [string] start folder for dialog, or "My Computer", or
' empty string to open in "Desktop\My Documents"
' blnSimpleDialog [boolean] if False, an additional text field will be
' displayed where the folder can be selected
' by typing the fully qualified path
'
' Returns: [string] the fully qualified path to the selected folder
'
' Based on the Hey Scripting Guys article
' "How Can I Show Users a Dialog Box That Only Lets Them Select Folders?"
' http://www.microsoft.com/technet/scriptcenter/resources/qanda/jun05/hey0617.mspx
'
' Function written by Rob van der Woude
' http://www.robvanderwoude.com
Const MY_COMPUTER = &H11&
Const WINDOW_HANDLE = 0 ' Must ALWAYS be 0
Dim numOptions, objFolder, objFolderItem
Dim objPath, objShell, strPath, strPrompt
' Set the options for the dialog window
strPrompt = "Select a folder in which to create subdirectories:"
If blnSimpleDialog = True Then
numOptions = 0 ' Simple dialog
Else
numOptions = &H10& ' Additional text field to type folder path
End If
' Create a Windows Shell object
Set objShell = CreateObject( "Shell.Application" )
' If specified, convert "My Computer" to a valid
' path for the Windows Shell's BrowseFolder method
If UCase( myStartLocation ) = "MY COMPUTER" Then
Set objFolder = objShell.Namespace( MY_COMPUTER )
Set objFolderItem = objFolder.Self
strPath = objFolderItem.Path
Else
strPath = myStartLocation
End If
Set objFolder = objShell.BrowseForFolder( WINDOW_HANDLE, strPrompt, _
numOptions, strPath )
' Quit if no folder was selected
If objFolder Is Nothing Then
BrowseFolder = ""
Exit Function
End If
' Retrieve the path of the selected folder
Set objFolderItem = objFolder.Self
objPath = objFolderItem.Path
' Return the path of the selected folder
BrowseFolder = objPath
End Function
帮助中有此示例代码。这是你需要的电话线<代码>如果(非objFolder为nothing),则
function fnShellBrowseForFolderVB()
dim objShell
dim ssfWINDOWS
dim objFolder
ssfWINDOWS = 36
set objShell = CreateObject("Shell.Application")
set objFolder = objShell.BrowseForFolder(0, "Example", 0, ssfWINDOWS)
if (not objFolder is nothing) then
'Add code here.
end if
set objFolder = nothing
set objShell = nothing
end function
然后
err.raise num
或wscript.quit
如果未选择文件夹,则函数将返回一个空字符串,因此
....
tgt = BrowseFolder("M:\MarcStone Bids", False)
' If no folder selected, quit
If tgt="" Then
Wscript.Quit 1
End If
....