Broadcasting a Fax

The code for broadcasting a fax is similar to the code for sending a fax. This code example uses the Submit rather than the ConnectedSubmit method, and therefore does not create a FaxServer object. The FaxDocument object serves as the root object. Also, the code differs in the number of recipients and the number of job IDs returned.

    Private Sub Form_Load()
        Dim objFaxDocument As New FAXCOMEXLib.FaxDocument
        Dim collFaxRecipients As FAXCOMEXLib.FaxRecipients
        Dim JobId As Object

        'Error handling
        On Error GoTo Error_Handler

        'Set the fax body
        objFaxDocument.Body = "c:\Docs\Body.txt"

        'Name the document
        objFaxDocument.DocumentName = "My First Fax"

        'Get the recipients collection
        collFaxRecipients = objFaxDocument.Recipients

        'Add the recipients
        With collFaxRecipients
            .Add("12225550105", "H")
            .Add("12225550104", "N")
            .Add("12225550103", "G")
        End With

        'Display number of recipients
        MsgBox("Number of recipients: " & collFaxRecipients.Count)

        'Display recipient information
        Dim i As Long
        For i = 1 To collFaxRecipients.Count
            MsgBox("Recipient number " & i & ": " & _
            collFaxRecipients.Item(i).Name & ", " & _
            collFaxRecipients.Item(i).FaxNumber)
        Next

        'Load the default sender
        objFaxDocument.Sender.LoadDefaultSender()

        'Group the broadcast receipts
        objFaxDocument.GroupBroadcastReceipts = True

        'Connect to the fax server, submit the document, and get back the
        'job ID array. "" indicates the local server.
        JobId = objFaxDocument.Submit("")

        'UBound finds the size of the array
        For n = 0 To UBound(JobId)
            MsgBox("The Job ID is " & JobId(n))
        Next

        'Remove the recipients from the collection. If you do not take this step, 
        'and run this code again without closing the program, the recipients 
        'collection will retain the recipients and keep adding more recipients.
        'The count and item numbering will change as you remove the items, so 
        'just remove item (1) Count times
        Dim lCount As Long
        lCount = collFaxRecipients.Count
        For i = 1 To lCount
            collFaxRecipients.Remove(1)
        Next
        Exit Sub

Error_Handler:
        'Implement error handling at the end of your subroutine. This 
        'implementation is for demonstration purposes
        MsgBox("Error number: " & Hex(Err.Number) & ", " & Err.Description)

    End Sub