Arrays VBScript传真多个文档数组问题
我在FaxDoc.Bodys功能上遇到问题。我得到的错误是“方法数据应该以一维零基字符串数组传递。” 我已经尝试了我能想到的一切,从直接在FaxDoc.Bodies元素上使用array()开始。有什么想法吗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"
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
很好的发现,感谢您发布解决方案!也许你可以把你的答案标记为正确答案,这样对其他有同样问题的人来说更容易找到答案。我计划这样做,但上面说我必须等一天才能找到答案。