Arrays VBScript传真多个文档数组问题

Arrays VBScript传真多个文档数组问题,arrays,vbscript,fax,Arrays,Vbscript,Fax,我在FaxDoc.Bodys功能上遇到问题。我得到的错误是“方法数据应该以一维零基字符串数组传递。” 我已经尝试了我能想到的一切,从直接在FaxDoc.Bodies元素上使用array()开始。有什么想法吗 Dim strJobIds Dim STAttach(1) 'On Error Resume Next Set FaxServer = WScript.CreateObject("FAXCOMEX.FaxServer") WScript.Echo "FaxServer created"

我在FaxDoc.Bodys功能上遇到问题。我得到的错误是“方法数据应该以一维零基字符串数组传递。”

我已经尝试了我能想到的一切,从直接在FaxDoc.Bodies元素上使用array()开始。有什么想法吗

Dim strJobIds
Dim STAttach(1)
'On Error Resume Next 
Set FaxServer = WScript.CreateObject("FAXCOMEX.FaxServer") 

WScript.Echo "FaxServer created"  
FaxServer.Connect "" 


Set FaxDoc = WScript.CreateObject("FAXCOMEX.FaxDocument") 



STAttach(0)="chili.txt"
STAttach(1)="sugarcookies.txt"


FaxDoc.Bodies=STAttach

FaxDoc.DocumentName = "My First Fax" 

FaxDoc.Recipients.Add ("15555551234") 

FaxDoc.Sender.Email = "bob@xyz.com" 
FaxDoc.Sender.Name = "Bob" 
FaxDoc.Sender.FaxNumber = "15555555678"

'    Optionally, Use FaxDoc.CoverPage and FaxDoc.CoverPageType to specify a cover page 
'    FaxDoc.CoverPage = generic 
'    FaxDoc.CoverPageType = 2 

'    Optionally, you can control banner in outbound faxes 
FaxServer.Folders.OutgoingQueue.Branding = True
FaxServer.Folders.OutgoingQueue.Save     '      Make the change persistent 
'    Optionally, use FaxServer.Folders.OutgoingQueue.Retries and 
'    FaxServer.Folders.OutgoingQueue.RetryDelay to control retries 

'    Submit the document to the connected fax server and get back the job ID. 
strJobIds=""
JobID = FaxDoc.ConnectedSubmit2(FaxServer, strJobIds) 

WScript.Echo "FaxDoc.ConnectedSubmit success"
您应该以字符串形式传递文档,文档之间用分号分隔:

FaxDoc.Bodies = "chili.txt;sugarcookies.txt"

它请求数组,但使用分号分隔符无效,并返回相同的错误消息

但是,我确实找到了一个使用VBA控制台应用程序而不是VBScript的解决方案。我的代码如下:

Module Module1
    Function DecodeToDocArray(ByVal inputDocListString As String, ByRef numDocuments As Integer, ByRef bRetVal As Boolean) As String()
        bRetVal = False
        If (String.IsNullOrEmpty(inputDocListString)) Then
            Return Nothing
        End If
        Dim docArray As String()
        Dim strDelimiter As String
        Dim delimiter As Char()

        docArray = Nothing
        strDelimiter = ";"
        delimiter = strDelimiter.ToCharArray()
        docArray = inputDocListString.Split(delimiter)
        numDocuments = docArray.GetLength(0)
        bRetVal = True
        Return docArray
    End Function
    Sub Main()



        Dim retVal As Boolean
        Dim numDocs As Integer
        Dim docArray As String()
        Dim strDocList As String = "chili.txt;sugarcookies.txt"
        MsgBox(strDocList)
        numDocs = 0
        docArray = DecodeToDocArray(strDocList, numDocs, retVal)
        If ((docArray.GetLength(0) = 0) Or (retVal = False)) Then
            System.Console.WriteLine("DecodeToDocArray failed")
            retVal = False
            MsgBox("End")
            End
        End If

        Dim FaxDoc = CreateObject("FAXCOMEX.FaxDocument")
        Dim FaxServer = CreateObject("FAXCOMEX.FaxServer")
        FaxServer.Connect("")

        MsgBox("test")
        FaxDoc.Bodies = docArray
        FaxDoc.Sender.LoadDefaultSender()
        FaxDoc.Recipients.Add("15555551234", "TestUser")
        Dim strJobIds As Object
        strJobIds = Nothing

        FaxDoc.ConnectedSubmit2(FaxServer, strJobIds)

        MsgBox("sent")

    End Sub

End Module

很好的发现,感谢您发布解决方案!也许你可以把你的答案标记为正确答案,这样对其他有同样问题的人来说更容易找到答案。我计划这样做,但上面说我必须等一天才能找到答案。