2015-10-08 53 views
2

我是Classic ASP的初学者。需要分割由多个用逗号分隔的电子邮件形成的字符串,以及使用稍后将生成的其他代码插入(通过电子邮件发送)到表中的结果。每个记录应该有一个电子邮件地址。 问题是我卡在一个数组范围错误。该消息是:阵列范围错误 - 经典ASP

Microsoft VBScript运行错误 '800a0009'

下标超出范围: 'WrdArray'

/NameOfFile.asp,第3行

任何暗示将高度赞赏。

Dim WrdArray() 
Dim txtToSplit 
WrdArray() = Split(txtToSplit,",") 
For i = LBound(WrdArray) To UBound(WrdArray) 
    strg = WrdArray(i) 
    'CODE TO INSERT THE VALUE OF strg IN A RECORD OF THE TABLE 
Next 

回答

3

你并不需要在这里一个动态数组,只是删除()声明一个标准的变量,这将成为一个变量数组时Split()被调用。当你需要使用ReDim命令增加数组的大小在运行时

Dim WrdArray 
Dim txtToSplit 
WrdArray = Split(txtToSplit,",") 
For i = LBound(WrdArray) To UBound(WrdArray) 
    strg = WrdArray(i) 
    'CODE TO INSERT THE VALUE OF strg IN A RECORD OF THE TABLE 
Next 

动态数组声明被使用。在这种情况下,Split()将始终返回固定数量的结果,因此不需要使用动态数组,除非您打算稍后添加更多项目。