4

我在 vbscript 中使用一个函数,它返回一个变体字符串数组。

JobIDs = objDoc.ConnectedSubmit(objServer)

问题是我无法从该数组中获取作业 ID 值,因为 vbscript 不处理类型化变量。当我尝试对 JobIDs 数组执行任何操作时,它只会给出类型不匹配。我在这里找到了一些有希望的信息,但是当我使用转换功能时:

Set objConverter = CreateObject("ADS.ArrayConvert")
ConvertedJobIDs = objConverter.CStrArray(JobIDs())

它给了我相同的类型不匹配错误。我在这里遗漏了一些明显的东西吗?显然,这是一个官方的微软解决方案,所以我不确定为什么它似乎有同样的问题,即首先实际上无法对字符串数组执行任何操作。我已经在很多地方看到我的问题的第一部分得到了回答,都指向 MS 解决方案,但我还没有看到有人成功使用该解决方案的任何后续报告。

4

2 回答 2

1

我不确定我是否理解它为什么不起作用,所以这个答案可能不是很有帮助。我本以为这样的事情可能会奏效(从您之前的问题开始,我假设您正在尝试取消工作):

For Each id In JobIDs
    WScript.Echo id
    YourJob = YourOutgoingFaxQueue.GetJob(id)
    YourJob.Cancel()
Next
于 2010-10-28T07:26:24.737 回答
1

这种行为是设计使然,VBScript 不能对非变量数组做任何事情,Microsoft 的一篇 KB 文章对此进行了解释,但它不再在线:

Q165967 - PRB:引用非变体数组时发生脚本错误

该文章的存档副本可在以下位置找到:

https://ftp.zx.net.nz/pub/archive/ftp.microsoft.com/MISC/KB/en-us/165/967.HTM

于 2021-11-08T05:21:22.870 回答