如何通过索引获取集合项目? [英] How to get collection item by index?
本文介绍了如何通过索引获取集合项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何访问集合项目?
下一步code给我的错误在最后一行。
<包装及GT;
<作业ID =NonDisabledServicesCollecting>
<注释和GT;
************************************************** **********
1条评论
2
3
************************************************** **********
< / COMMENT>
< SCRIPT LANGUAGE =VBScript中>
flash_folder =I:\\ 123 \\
str_flash_folder_colFiles =
num_flash_folder_colFiles = 0
设置flash_folder_colFiles =的CreateObject(Scripting.FileSystemObject的)。的GetFolder(flash_folder).Files
WScript.Echo flash_folder_colFiles(1)
对于flash_folder_colFiles每个flash_folder_objFile
num_flash_folder_colFiles = num_flash_folder_colFiles + 1
str_flash_folder_colFiles = str_flash_folder_colFiles + CSTR(num_flash_folder_colFiles)++ flash_folder_objFile.Name + vbCrLf
下一个昏暗的响应
做
响应=输入框(请输入对应于您的选择数量:选择DLL复制...+ vbCrLf + str_flash_folder_colFiles,)
如果响应=那WScript.Echo输入是空的。 检测取消
如果则IsNumeric(响应),然后退出做'检测值响应。
WScript.Echo您必须输入一个数值。
循环
selected_flush_DLL = flash_folder + flash_folder_colFiles(CINT(响应))
WScript.Echo selected_flush_DLL < / SCRIPT>
< /工作>
< /包>
解决方案
该.Files集合无法通过索引访问:
>>设置oFiles = goFS.GetFolder(\\)。文件
>> N = oFiles(0).Name点
>>
错误号:5
错误说明:无效的过程调用或参数
您需要一个For Each循环来填补例如随机存取集合数组:
>>设置oFiles = goFS.GetFolder(\\)。文件
>>使用ReDim aFiles(oFiles.Count - 1)
>> I = 0
>>对于每个OFILE在oFiles
>>集aFiles(I)= OFILE
>>下一个
>> N = aFiles(0).Name点
>> WScript.Echoñ
>>
31823568.notes
How to access item in collection? Next code gives me error in last line.
<package>
<job id="NonDisabledServicesCollecting">
<COMMENT>
************************************************************
1 comment
2
3
************************************************************
</COMMENT>
<script language="VBScript">
flash_folder="I:\123\"
str_flash_folder_colFiles = ""
num_flash_folder_colFiles = 0
Set flash_folder_colFiles = CreateObject("Scripting.FileSystemObject").GetFolder(flash_folder).Files
WScript.Echo flash_folder_colFiles(1)
For Each flash_folder_objFile in flash_folder_colFiles
num_flash_folder_colFiles = num_flash_folder_colFiles + 1
str_flash_folder_colFiles = str_flash_folder_colFiles + cstr(num_flash_folder_colFiles) + " " + flash_folder_objFile.Name + vbCrLf
Next
Dim response
Do
response = InputBox("Please enter the number that corresponds to your selection:" + vbCrLf + str_flash_folder_colFiles, "Choose DLL to copy...")
If response = "" Then WScript.Echo "Input is empty." 'Detect Cancel
If IsNumeric(response) Then Exit Do 'Detect value response.
WScript.Echo "You must enter a numeric value."
Loop
selected_flush_DLL = flash_folder + flash_folder_colFiles(cint(response))
WScript.Echo selected_flush_DLL
</script>
</job>
</package>
解决方案
The .Files collection can't be accessed by index:
>> Set oFiles = goFS.GetFolder(".\").Files
>> n = oFiles(0).Name
>>
Error Number: 5
Error Description: Invalid procedure call or argument
You need a For Each loop to fill a random access collection e.g. an Array:
>> Set oFiles = goFS.GetFolder(".\").Files
>> ReDim aFiles(oFiles.Count - 1)
>> i = 0
>> For Each oFile In oFiles
>> Set aFiles(i) = oFile
>> Next
>> n = aFiles(0).Name
>> WScript.Echo n
>>
31823568.notes
这篇关于如何通过索引获取集合项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文