VBScript 传真多个文档数组问题



我在使用FaxDoc.Bodies函数时遇到问题。 我收到错误"方法数据应该在一维从零开始的字符串数组中传递"。

我已经尝试了我能想到的一切,从直接在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"

它要求一个数组,使用分号分隔符不起作用并返回相同的错误消息。

但是,我确实找到了使用 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

根据 MSDN,您应该将文档作为字符串传递,文档用分号分隔:

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

相关内容

  • 没有找到相关文章

最新更新