X
-
I assume the fax number is specified not in canonical format ie just
"12125551212"?
Leave a comment:
-
Better yet, let's keep everything together:
Code:' **************************************************************************************** ' Library name: FAXCOMLib ' Version: 1.0 ' Documentation string: faxcom 1.0 Type Library ' Path: C:\WINDOWS\system32\fxscom.dll ' Library GUID: {87099223-C7AF-11D0-B225-00C04FB6C2F5} ' Code generated by the TypeLib Browser 2.05 (c) 2003-2006 by José Roca ' Date: 19 Jan 2008 Time: 10:05:13 ' **************************************************************************************** #IF NOT %DEF(%WINAPI) #INCLUDE "WIN32API.INC" #ENDIF ' **************************************************************************************** ' ProgIDs (Program identifiers) ' **************************************************************************************** $PROGID_FaxServerFaxServer1 = "FaxServer.FaxServer.1" $PROGID_FaxTiffFaxTiff1 = "FaxTiff.FaxTiff.1" ' **************************************************************************************** ' CoClass name = FaxTiff ' Interface name = IFaxTiff ' IID = {B19BB45F-B91C-11D1-83E1-00C04FB6E984} ' IFaxTiff Interface ' Attributes = 4160 [&H1040] [Dual] [Dispatchable] ' Inherited interface = IDispatch ' **************************************************************************************** INTERFACE DISPATCH FaxTiffFaxTiff MEMBER GET ReceiveTime<&H00000001>() AS STRING MEMBER GET Image<&H00000002>() AS STRING MEMBER LET Image<&H00000002>() ' Parameter Type AS STRING MEMBER GET RecipientName<&H00000003>() AS STRING MEMBER GET SenderName<&H00000004>() AS STRING MEMBER GET Routing<&H00000005>() AS STRING MEMBER GET CallerId<&H00000006>() AS STRING MEMBER GET Csid<&H00000007>() AS STRING MEMBER GET Tsid<&H00000008>() AS STRING MEMBER GET RecipientNumber<&H00000009>() AS STRING MEMBER GET RawReceiveTime<&H0000000A>() AS VARIANT MEMBER GET TiffTagString<&H0000000B>(IN tagID AS LONG<&H00000000>) AS STRING END INTERFACE ' **************************************************************************************** ' CoClass name = FaxServer ' Interface name = IFaxServer ' IID = {D73733C7-CC80-11D0-B225-00C04FB6C2F5} ' IFaxServer Interface ' Attributes = 4160 [&H1040] [Dual] [Dispatchable] ' Inherited interface = IDispatch ' **************************************************************************************** INTERFACE DISPATCH FaxTiffFaxServer MEMBER CALL Connect<&H00000001>(ServerName AS STRING<&H00000000>) MEMBER CALL Disconnect<&H00000002>() MEMBER CALL GetPorts<&H00000003>() AS VARIANT MEMBER CALL CreateDocument<&H00000004>(FileName AS STRING<&H00000000>) AS VARIANT MEMBER CALL GetJobs<&H00000005>() AS VARIANT MEMBER GET Retries<&H00000006>() AS LONG MEMBER LET Retries<&H00000006>() ' Parameter Type AS LONG MEMBER GET RetryDelay<&H00000007>() AS LONG MEMBER LET RetryDelay<&H00000007>() ' Parameter Type AS LONG MEMBER GET DirtyDays<&H00000008>() AS LONG MEMBER LET DirtyDays<&H00000008>() ' Parameter Type AS LONG MEMBER GET Branding<&H00000009>() AS LONG MEMBER LET Branding<&H00000009>() ' Parameter Type AS LONG MEMBER GET UseDeviceTsid<&H0000000A>() AS LONG MEMBER LET UseDeviceTsid<&H0000000A>() ' Parameter Type AS LONG MEMBER GET ServerCoverpage<&H0000000B>() AS LONG MEMBER LET ServerCoverpage<&H0000000B>() ' Parameter Type AS LONG MEMBER GET PauseServerQueue<&H0000000C>() AS LONG MEMBER LET PauseServerQueue<&H0000000C>() ' Parameter Type AS LONG MEMBER GET ArchiveOutboundFaxes<&H0000000D>() AS LONG MEMBER LET ArchiveOutboundFaxes<&H0000000D>() ' Parameter Type AS LONG MEMBER GET ArchiveDirectory<&H0000000E>() AS STRING MEMBER LET ArchiveDirectory<&H0000000E>() ' Parameter Type AS STRING MEMBER GET ServerMapiProfile<&H0000000F>() AS STRING MEMBER LET ServerMapiProfile<&H0000000F>() ' Parameter Type AS STRING MEMBER GET DiscountRateStartHour<&H00000010>() AS INTEGER MEMBER LET DiscountRateStartHour<&H00000010>() ' Parameter Type AS INTEGER MEMBER GET DiscountRateStartMinute<&H00000011>() AS INTEGER MEMBER LET DiscountRateStartMinute<&H00000011>() ' Parameter Type AS INTEGER MEMBER GET DiscountRateEndHour<&H00000012>() AS INTEGER MEMBER LET DiscountRateEndHour<&H00000012>() ' Parameter Type AS INTEGER MEMBER GET DiscountRateEndMinute<&H00000013>() AS INTEGER MEMBER LET DiscountRateEndMinute<&H00000013>() ' Parameter Type AS INTEGER END INTERFACE ' **************************************************************************************** ' CoClass name = FaxPort ' Interface name = IFaxPort ' IID = {D73733CC-CC80-11D0-B225-00C04FB6C2F5} ' IFaxPort Interface ' Attributes = 4160 [&H1040] [Dual] [Dispatchable] ' Inherited interface = IDispatch ' **************************************************************************************** INTERFACE DISPATCH FaxTiffFaxPort MEMBER GET Name<&H00000001>() AS STRING MEMBER GET DeviceId<&H00000002>() AS LONG MEMBER GET Rings<&H00000003>() AS LONG MEMBER LET Rings<&H00000003>() ' Parameter Type AS LONG MEMBER GET Csid<&H00000004>() AS STRING MEMBER LET Csid<&H00000004>() ' Parameter Type AS STRING MEMBER GET Tsid<&H00000005>() AS STRING MEMBER LET Tsid<&H00000005>() ' Parameter Type AS STRING MEMBER GET Send<&H00000006>() AS LONG MEMBER LET Send<&H00000006>() ' Parameter Type AS LONG MEMBER GET Receive<&H00000007>() AS LONG MEMBER LET Receive<&H00000007>() ' Parameter Type AS LONG MEMBER GET Priority<&H00000008>() AS LONG MEMBER LET Priority<&H00000008>() ' Parameter Type AS LONG MEMBER CALL GetRoutingMethods<&H00000009>() AS VARIANT MEMBER GET CanModify<&H0000000A>() AS LONG MEMBER CALL GetStatus<&H0000000B>() AS VARIANT END INTERFACE ' **************************************************************************************** ' CoClass name = FaxPorts ' Interface name = IFaxPorts ' IID = {D73733D5-CC80-11D0-B225-00C04FB6C2F5} ' IFaxPorts Interface ' Attributes = 4160 [&H1040] [Dual] [Dispatchable] ' Inherited interface = IDispatch ' **************************************************************************************** INTERFACE DISPATCH FaxTiffFaxPorts MEMBER GET Count<&H00000001>() AS LONG MEMBER GET Item<&H00000002>(Index AS LONG<&H00000000>) AS VARIANT END INTERFACE ' **************************************************************************************** ' CoClass name = FaxRoutingMethod ' Interface name = IFaxRoutingMethod ' IID = {2199F5F3-CEFC-11D0-A341-0000F800E68D} ' IFaxRoutingMethod Interface ' Attributes = 4160 [&H1040] [Dual] [Dispatchable] ' Inherited interface = IDispatch ' **************************************************************************************** INTERFACE DISPATCH FaxTiffFaxRoutingMethod MEMBER GET DeviceId<&H00000001>() AS LONG MEMBER GET Enable<&H00000002>() AS LONG MEMBER LET Enable<&H00000002>() ' Parameter Type AS LONG MEMBER GET DeviceName<&H00000003>() AS STRING MEMBER GET Guid<&H00000004>() AS STRING MEMBER GET FunctionName<&H00000005>() AS STRING MEMBER GET ImageName<&H00000006>() AS STRING MEMBER GET FriendlyName<&H00000007>() AS STRING MEMBER GET ExtensionName<&H00000008>() AS STRING MEMBER GET RoutingData<&H00000009>() AS STRING END INTERFACE ' **************************************************************************************** ' CoClass name = FaxRoutingMethods ' Interface name = IFaxRoutingMethods ' IID = {2199F5F5-CEFC-11D0-A341-0000F800E68D} ' IFaxRoutingMethod Interface ' Attributes = 4160 [&H1040] [Dual] [Dispatchable] ' Inherited interface = IDispatch ' **************************************************************************************** INTERFACE DISPATCH FaxTiffFaxRoutingMethods MEMBER GET Count<&H00000001>() AS LONG MEMBER GET Item<&H00000002>(IN Index AS LONG<&H00000000>) AS VARIANT END INTERFACE ' **************************************************************************************** ' CoClass name = FaxStatus ' Interface name = IFaxStatus ' IID = {8B97E605-D054-11D0-B226-00C04FB6C2F5} ' IFaxStatus Interface ' Attributes = 4160 [&H1040] [Dual] [Dispatchable] ' Inherited interface = IDispatch ' **************************************************************************************** INTERFACE DISPATCH FaxTiffFaxStatus MEMBER GET CallerId<&H00000001>() AS STRING MEMBER GET Csid<&H00000002>() AS STRING MEMBER GET CurrentPage<&H00000003>() AS LONG MEMBER GET DeviceId<&H00000004>() AS LONG MEMBER GET DeviceName<&H00000005>() AS STRING MEMBER GET DocumentName<&H00000006>() AS STRING MEMBER GET Send<&H00000008>() AS LONG MEMBER GET Receive<&H00000009>() AS LONG MEMBER GET Address<&H0000000A>() AS STRING MEMBER GET RoutingString<&H0000000C>() AS STRING MEMBER GET SenderName<&H0000000D>() AS STRING MEMBER GET RecipientName<&H0000000E>() AS STRING MEMBER GET DocumentSize<&H0000000F>() AS LONG MEMBER GET Description<&H00000010>() AS STRING MEMBER GET PageCount<&H00000011>() AS LONG MEMBER GET Tsid<&H00000012>() AS STRING MEMBER GET StartTime<&H00000013>() AS DOUBLE MEMBER GET SubmittedTime<&H00000014>() AS DOUBLE MEMBER GET ElapsedTime<&H00000015>() AS DOUBLE MEMBER CALL Refresh<&H00000016>() END INTERFACE ' **************************************************************************************** ' CoClass name = FaxDoc ' Interface name = IFaxDoc ' IID = {FA21F4C5-5C4C-11D1-83CF-00C04FB6E984} ' IFaxDoc Interface ' Attributes = 4160 [&H1040] [Dual] [Dispatchable] ' Inherited interface = IDispatch ' **************************************************************************************** INTERFACE DISPATCH FaxTiffFaxDoc MEMBER GET FileName<&H00000001>() AS STRING MEMBER LET FileName<&H00000001>() ' Parameter Type AS STRING MEMBER GET CoverpageName<&H00000002>() AS STRING MEMBER LET CoverpageName<&H00000002>() ' Parameter Type AS STRING MEMBER GET SendCoverpage<&H00000003>() AS LONG MEMBER LET SendCoverpage<&H00000003>() ' Parameter Type AS LONG MEMBER GET ServerCoverpage<&H00000004>() AS LONG MEMBER LET ServerCoverpage<&H00000004>() ' Parameter Type AS LONG MEMBER GET DiscountSend<&H00000005>() AS LONG MEMBER LET DiscountSend<&H00000005>() ' Parameter Type AS LONG MEMBER GET RecipientName<&H00000006>() AS STRING MEMBER LET RecipientName<&H00000006>() ' Parameter Type AS STRING MEMBER GET RecipientCompany<&H00000007>() AS STRING MEMBER LET RecipientCompany<&H00000007>() ' Parameter Type AS STRING MEMBER GET RecipientAddress<&H00000008>() AS STRING MEMBER LET RecipientAddress<&H00000008>() ' Parameter Type AS STRING MEMBER GET RecipientCity<&H00000009>() AS STRING MEMBER LET RecipientCity<&H00000009>() ' Parameter Type AS STRING MEMBER GET RecipientState<&H0000000A>() AS STRING MEMBER LET RecipientState<&H0000000A>() ' Parameter Type AS STRING MEMBER GET RecipientZip<&H0000000B>() AS STRING MEMBER LET RecipientZip<&H0000000B>() ' Parameter Type AS STRING MEMBER GET RecipientCountry<&H0000000C>() AS STRING MEMBER LET RecipientCountry<&H0000000C>() ' Parameter Type AS STRING MEMBER GET RecipientTitle<&H0000000D>() AS STRING MEMBER LET RecipientTitle<&H0000000D>() ' Parameter Type AS STRING MEMBER GET RecipientDepartment<&H0000000E>() AS STRING MEMBER LET RecipientDepartment<&H0000000E>() ' Parameter Type AS STRING MEMBER GET RecipientOffice<&H0000000F>() AS STRING MEMBER LET RecipientOffice<&H0000000F>() ' Parameter Type AS STRING MEMBER GET RecipientHomePhone<&H00000010>() AS STRING MEMBER LET RecipientHomePhone<&H00000010>() ' Parameter Type AS STRING MEMBER GET RecipientOfficePhone<&H00000011>() AS STRING MEMBER LET RecipientOfficePhone<&H00000011>() ' Parameter Type AS STRING MEMBER GET SenderName<&H00000012>() AS STRING MEMBER LET SenderName<&H00000012>() ' Parameter Type AS STRING MEMBER GET SenderCompany<&H00000013>() AS STRING MEMBER LET SenderCompany<&H00000013>() ' Parameter Type AS STRING MEMBER GET SenderAddress<&H00000014>() AS STRING MEMBER LET SenderAddress<&H00000014>() ' Parameter Type AS STRING MEMBER GET SenderTitle<&H00000015>() AS STRING MEMBER LET SenderTitle<&H00000015>() ' Parameter Type AS STRING MEMBER GET SenderDepartment<&H00000016>() AS STRING MEMBER LET SenderDepartment<&H00000016>() ' Parameter Type AS STRING MEMBER GET SenderOffice<&H00000017>() AS STRING MEMBER LET SenderOffice<&H00000017>() ' Parameter Type AS STRING MEMBER GET SenderHomePhone<&H00000018>() AS STRING MEMBER LET SenderHomePhone<&H00000018>() ' Parameter Type AS STRING MEMBER GET SenderOfficePhone<&H00000019>() AS STRING MEMBER LET SenderOfficePhone<&H00000019>() ' Parameter Type AS STRING MEMBER GET CoverpageNote<&H0000001A>() AS STRING MEMBER LET CoverpageNote<&H0000001A>() ' Parameter Type AS STRING MEMBER GET CoverpageSubject<&H0000001B>() AS STRING MEMBER LET CoverpageSubject<&H0000001B>() ' Parameter Type AS STRING MEMBER GET Tsid<&H0000001C>() AS STRING MEMBER LET Tsid<&H0000001C>() ' Parameter Type AS STRING MEMBER GET BillingCode<&H0000001D>() AS STRING MEMBER LET BillingCode<&H0000001D>() ' Parameter Type AS STRING MEMBER GET EmailAddress<&H0000001E>() AS STRING MEMBER LET EmailAddress<&H0000001E>() ' Parameter Type AS STRING MEMBER GET DisplayName<&H0000001F>() AS STRING MEMBER LET DisplayName<&H0000001F>() ' Parameter Type AS STRING MEMBER CALL Send<&H00000020>() AS LONG MEMBER GET FaxNumber<&H00000021>() AS STRING MEMBER LET FaxNumber<&H00000021>() ' Parameter Type AS STRING MEMBER SET ConnectionObject<&H00000022>() ' Parameter Type AS VARIANT MEMBER GET CallHandle<&H00000023>() AS LONG MEMBER LET CallHandle<&H00000023>() ' Parameter Type AS LONG MEMBER GET SenderFax<&H00000024>() AS STRING MEMBER LET SenderFax<&H00000024>() ' Parameter Type AS STRING END INTERFACE ' **************************************************************************************** ' CoClass name = FaxJobs ' Interface name = IFaxJobs ' IID = {55DABFD3-5C9E-11D1-B791-000000000000} ' IFaxJobs Interface ' Attributes = 4160 [&H1040] [Dual] [Dispatchable] ' Inherited interface = IDispatch ' **************************************************************************************** INTERFACE DISPATCH FaxTiffFaxJobs MEMBER GET Count<&H00000001>() AS LONG MEMBER GET Item<&H00000002>(Index AS LONG<&H00000000>) AS VARIANT END INTERFACE ' **************************************************************************************** ' CoClass name = FaxJob ' Interface name = IFaxJob ' IID = {55DABFD5-5C9E-11D1-B791-000000000000} ' IFaxJob Interface ' Attributes = 4160 [&H1040] [Dual] [Dispatchable] ' Inherited interface = IDispatch ' **************************************************************************************** INTERFACE DISPATCH FaxTiffFaxJob MEMBER GET JobId<&H00000001>() AS LONG MEMBER GET Type<&H00000002>() AS LONG MEMBER GET UserName<&H00000003>() AS STRING MEMBER GET QueueStatus<&H00000004>() AS STRING MEMBER GET DeviceStatus<&H00000005>() AS STRING MEMBER GET PageCount<&H00000006>() AS LONG MEMBER GET FaxNumber<&H00000007>() AS STRING MEMBER GET RecipientName<&H00000008>() AS STRING MEMBER GET Tsid<&H00000009>() AS STRING MEMBER GET SenderName<&H0000000A>() AS STRING MEMBER GET SenderCompany<&H0000000B>() AS STRING MEMBER GET SenderDept<&H0000000C>() AS STRING MEMBER GET BillingCode<&H0000000D>() AS STRING MEMBER GET DisplayName<&H0000000E>() AS STRING MEMBER GET DiscountSend<&H0000000F>() AS LONG MEMBER CALL SetStatus<&H00000010>(Command AS LONG<&H00000000>) MEMBER CALL Refresh<&H00000011>() END INTERFACE
Leave a comment:
-
Frank,
Perhaps you could start a new thread on Jose's site in the COM section and attach FaxCOM.inc?
Leave a comment:
-
From the comments:
This procedure requires a properly installed and working fax/modem card in the local machine.
It also makes use of José Roca's indispensable TypeLib program for creating the necessary
FaxCOM.inc file.
Leave a comment:
-
Where do I find the faxcom.dll and the faxcom.inc files?
Does anyone have a link to them?
Leave a comment:
-
Faxing Using COM
The following function allows the faxing of files (.doc, .rtf, .txt, etc.) from within a PB program running under Windows 2000 Professional or Windows XP using the FaxCOM interface.
Note that the FaxCOM type library is required (available by using PB's COM browser or José Roca's excellent TypeLib Browser). The host machine must have a fax/modem card installed and working.
Code:' *************************************************************************************************** ' Sending a Fax from within a PB program via COM ' *************************************************************************************************** ' ' This procedure requires a properly installed and working fax/modem card in the local machine. ' It also makes use of José Roca's indispensable TypeLib program for creating the necessary ' FaxCOM.inc file. ' ' The interface can send the contents of a designated file (the "docfile$") provided the file ' suffix is one that has been registered with Windows (such as .doc, .txt, .rtf, etc.). In other ' words, Windows needs to know how to handle the document type in order to fax it. ' ' The document file must be fully qualified (e.g.: "C:\Local Documents\Fax\FaxDoc1.rtf") ' ' According to MSDN documentation, this particular COM solution works under Windows 2000 Pro and ' Windows XP. It has not been tested on Windows Vista. It SHOULD work on any machine with the ' FaxCom 1.0 Type Library installed (but not guaranteed). ' ' Thanks to José Roca for his assistance in developing this routine. #INCLUDE "FaxCOM.inc" ' Fax COM Interface ' Generated by TypeLib 2.05 ' Library name: FAXCOMLib ' faxcom 1.0 Type Library ' --------------------------------------------------------------------------------------------------- FUNCTION SendFaxDocument&(docfile$, _ ' Qualified path and file name of document to fax recipient$, _ ' Name of recipient faxnumber$, _ ' Recipient's fax number yourfax$, _ ' Your fax number retries&) ' Number of times to retry LOCAL r&, thismachine$, result& LOCAL oFaxServe AS DISPATCH LOCAL oFaxDoc AS DISPATCH LOCAL vHost AS VARIANT LOCAL vDoc AS VARIANT LOCAL vObj AS VARIANT LOCAL vRetries AS VARIANT LOCAL vFaxNumber AS VARIANT LOCAL vRecipient AS VARIANT LOCAL vTSID AS VARIANT IF LEN(DIR$(docfile$)) = 0 OR _ LEN(faxnumber$) = 0 OR _ LEN(yourfax$) = 0 THEN EXIT FUNCTION END IF LET oFaxServe = NEW DISPATCH IN $PROGID_FaxServerFaxServer1 ' Create the interface IF ISTRUE ISOBJECT(oFaxServe) THEN ' Object created successfully HOST NAME TO thismachine$ ' Get host name LET vHost = thismachine$ ' Assign to variant OBJECT CALL oFaxServe.CONNECT(vHost) ' Connect to server LET vRetries = retries& ' Set number of retries OBJECT LET oFaxServe.Retries = vRetries LET vDoc = docfile$ ' Assign document to variant OBJECT CALL oFaxServe.CreateDocument(vDoc) TO vObj ' Set up document interface LET oFaxDoc = vObj ' Create FaxDox dispatch IF ISTRUE ISOBJECT(oFaxDoc) THEN ' Dispatch created OK LET vFaxNumber = REMOVE$(faxnumber$, "-") ' Remove any dashes OBJECT LET oFaxDoc.FaxNumber = vFaxNumber ' Assign to interface LET vRecipient = recipient$ ' Recipient's name OBJECT LET oFaxDoc.RecipientName = vRecipient ' Assign to interface LET vTSID = yourfax$ ' Sender's fax number OBJECT LET oFaxDoc.TSID = vTSID ' Assign sender's fax number OBJECT CALL oFaxDoc.SEND ' Send the fax LET oFaxDoc = NOTHING ' Close the dispatch result& = %TRUE ' Signal success END IF OBJECT CALL oFaxServe.Disconnect ' Disconnect the server LET oFaxServe = NOTHING ' Close the interface ELSE ' Fax server connection failed MSGBOX "Fax/modem not installed or not working properly.", _ ' Alert user %MB_OK, "Unable to Connect" END IF FUNCTION = result& ' Return result END FUNCTION ' // SendFaxDocument ' ---------------------------------------------------------------------------------------------------
Tags: None
Leave a comment: