
We can use Telephony Application Programming Interface (TAPI) and the Fax Service Extended Component Object Model (COM) API to send fax.
The fax service is a Telephony Application Programming Interface (TAPI)-compliant system service that allows users on a network to send and receive faxes from their desktop applications. The service is available on computers that are running Windows 2000 and later. The fax service provides the following features:
- Transmitting faxes
- Receiving faxes
- Flexible routing of inbound faxes
- Outbound routing
- Outgoing fax priorities
- Archiving sent and received faxes
- Server and device configuration management
- Client use of server devices for sending and receiving faxes
- Event logging
- Activity logging
- Delivery receipts
- Security permissions
The following Microsoft Visual Basic code example sends a fax. Note that if you were to convert this Visual Basic example to Microsoft Visual Basic Scripting Edition (VBScript), you would have to use an enumeration constant instead of the value fptHigh.
Private Sub Form_Load() Dim objFaxDocument As New FAXCOMEXLib.FaxDocument Dim objFaxServer As New FAXCOMEXLib.FaxServer Dim objSender As FAXCOMEXLib.FaxSender Dim JobID As Object
'Error handling On Error GoTo Error_Handler 'Connect to the fax server objFaxServer.Connect("") 'Set the fax body objFaxDocument.Body = "c:\Docs\Body.txt" 'Name the document objFaxDocument.DocumentName = "My First Fax" 'Set the fax priority objFaxDocument.Priority = FAXCOMEXLib.FAX_PRIORITY_TYPE_ENUM.fptHIGH 'Add the recipient with the fax number 12225550100 objFaxDocument.Recipients.Add("12225550100", "Bud") 'Choose to attach the fax to the fax receipt objFaxDocument.AttachFaxToReceipt = True 'Set the cover page type and the path to the cover page objFaxDocument.CoverPageType = FAXCOMEXLib.FAX_COVERPAGE_TYPE_ENUM.fcptSERVER objFaxDocument.CoverPage = "generic" 'Provide the cover page note objFaxDocument.Note = "Here is the info you requested" 'Provide the address for the fax receipt objFaxDocument.ReceiptAddress = "someone@example.com" 'Set the receipt type to email objFaxDocument.ReceiptType = FAXCOMEXLib.FAX_RECEIPT_TYPE_ENUM.frtMAIL 'Specify that the fax is to be sent at a particular time objFaxDocument.ScheduleType = FAXCOMEXLib.FAX_SCHEDULE_TYPE_ENUM.fstSPECIFIC_TIME 'CDate converts the time to the Date data type objFaxDocument.ScheduleTime = CDate("4:35:47 PM") objFaxDocument.Subject = "Today's fax" 'Set the sender properties. objFaxDocument.Sender.Title = "Mr." objFaxDocument.Sender.Name = "Bob" objFaxDocument.Sender.City = "Cleveland Heights" objFaxDocument.Sender.State = "Ohio" objFaxDocument.Sender.Company = "Microsoft" objFaxDocument.Sender.Country = "USA" objFaxDocument.Sender.Email = "someone@microsoft.com" objFaxDocument.Sender.FaxNumber = "12165555554" objFaxDocument.Sender.HomePhone = "12165555555" objFaxDocument.Sender.OfficeLocation = "Downtown" objFaxDocument.Sender.OfficePhone = "12165555553" objFaxDocument.Sender.StreetAddress = "123 Main Street" objFaxDocument.Sender.TSID = "Office fax machine" objFaxDocument.Sender.ZipCode = "44118" objFaxDocument.Sender.BillingCode = "23A54" objFaxDocument.Sender.Department = "Accts Payable" 'Save sender information as default objFaxDocument.Sender.SaveDefaultSender() 'Submit the document to the connected fax server 'and get back the job ID. JobID = objFaxDocument.ConnectedSubmit(objFaxServer) MsgBox("The Job ID is :" & JobID(0)) objFaxServer.Disconnect() 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
Note On Windows Vista, the program must have write access to the archive folder or it will generate an exception.
Comments
Post a Comment
Important - Make sure to click the Notify Me check-box below the comment to be notified of follow up comments and replies.