VB Fax - Send Files to Multiple Recipients Using SendfaxEx_2
This VB6 fax snippet reads a number of files, concatenates them into one string, and submits the VB fax to the Web service (with multiple attachments).
Finally the sample indicates whether the submission succeeded: The return value of a successful submission is the transaction ID (positive number) of the fax in the system, where any other return values indicate that the transmission failed (for more details, see Web Service Return Codes).
Attribute VB_Name = "SendfaxEx_2" ' ' This method sends 2 VB faxes to 2 fax destinations ' Option Explicit Public Sub Invoke() ' Prepare fax numbers Dim FaxNumbers As String: FaxNumbers = "+12125551212;+442075554321" ' 'Read data from a file to a byte-array ' Const FilenametoFax_1 As String = "c:\temp\1.pdf" Dim B1() As Byte B1 = Utils.ReadBinaryFile(FilenametoFax_1) Dim Len1 As Long: Len1 = UBound(B1) + 1 Dim DataSize As String: DataSize = CStr(Len1) Dim FileType As String: FileType = "pdf" ' In case additional file(s) are required, add them Const FilenametoFax_2 As String = "c:\temp\1.doc" Dim B2() As Byte B2 = Utils.ReadBinaryFile(FilenametoFax_2) Dim Len2 As Long: Len2 = UBound(B2) + 1 ' And combine the 2 buffers Dim B() As Byte: B = Utils.ConcatByteArrays(B1, B2) ' Set parameters to reflect multiple documents DataSize = DataSize & ";" & CStr(Len2) FileType = FileType & ";" & "doc" 'Invoke the Interfax method Dim SendFaxResult As Long Dim objEnv As PocketSOAP.CoEnvelope Dim objHttp As PocketSOAP.HTTPTransport Set objEnv = New PocketSOAP.CoEnvelope objEnv.EncodingStyle = "" objEnv.SetMethod "SendfaxEx_2", "http://www.interfax.cc" objEnv.Parameters.Create "Username", Main.Username, objEnv.URI objEnv.Parameters.Create "Password", Main.Password, objEnv.URI objEnv.Parameters.Create "FaxNumbers", FaxNumbers, objEnv.URI objEnv.Parameters.Create "Contacts", "", objEnv.URI objEnv.Parameters.Create "FilesData", Utils.EncodeBase64(B), objEnv.URI objEnv.Parameters.Create "FileTypes", FileType, objEnv.URI objEnv.Parameters.Create "FileSizes", DataSize, objEnv.URI objEnv.Parameters.Create "Postpone", DateAdd("d", -1, Now()), objEnv.URI 'any time in the past for sending ASAP objEnv.Parameters.Create "RetriesToPerform", 3, objEnv.URI objEnv.Parameters.Create "CSID", "MyCSID", objEnv.URI objEnv.Parameters.Create "PageHeader", "", objEnv.URI objEnv.Parameters.Create "JobID", "", objEnv.URI objEnv.Parameters.Create "Subject", "Fax Subject", objEnv.URI objEnv.Parameters.Create "ReplyAddress", "myaddress@mydomain.com", objEnv.URI objEnv.Parameters.Create "PageSize", "Letter", objEnv.URI objEnv.Parameters.Create "PageOrientation", "Landscape", objEnv.URI objEnv.Parameters.Create "IsHighResolution", False, objEnv.URI objEnv.Parameters.Create "IsFineRendering", False, objEnv.URI Set objHttp = New PocketSOAP.HTTPTransport objHttp.SOAPAction = "http://www.interfax.cc/SendfaxEx_2" objHttp.send "http://ws.interfax.net/DFS.asmx", objEnv.Serialize objEnv.parse objHttp Dim SendResult As Long SendResult = objEnv.Parameters.Item(0).Value 'Analyze the response If SendResult > 0 Then MsgBox "Fax submitted. Parent transaction ID: " & SendResult Else MsgBox "Error sending fax. Return code: " & SendResult End If End Sub

