Announcement

Collapse

Forum Guidelines

This forum is for finished source code that is working properly. If you have questions about this or any other source code, please post it in one of the Discussion Forums, not here.
See more
See less

Faxing Using COM

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    ' ---------------------------------------------------------------------------------------------------
    --
    <strong>Billing clients for your freelance work?</strong> Try <a href="http://www.minute-2-minute.com">Minute-2-Minute</a>, the project management, timing, and billing system. Perfect for programmers who charge by the hour. FREE 45-day trial.

  • #2
    Where do I find the faxcom.dll and the faxcom.inc files?

    Does anyone have a link to them?

    Comment


    • #3
      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.
      --
      <strong>Billing clients for your freelance work?</strong> Try <a href="http://www.minute-2-minute.com">Minute-2-Minute</a>, the project management, timing, and billing system. Perfect for programmers who charge by the hour. FREE 45-day trial.

      Comment


      • #4
        Frank,
        Perhaps you could start a new thread on Jose's site in the COM section and attach FaxCOM.inc?

        Comment


        • #5
          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
          --
          <strong>Billing clients for your freelance work?</strong> Try <a href="http://www.minute-2-minute.com">Minute-2-Minute</a>, the project management, timing, and billing system. Perfect for programmers who charge by the hour. FREE 45-day trial.

          Comment


          • #6
            I assume the fax number is specified not in canonical format ie just
            "12125551212"?

            Comment


            • #7
              Code:
              LET vFaxNumber = REMOVE$(faxnumber$, "-")
              Correct.
              --
              <strong>Billing clients for your freelance work?</strong> Try <a href="http://www.minute-2-minute.com">Minute-2-Minute</a>, the project management, timing, and billing system. Perfect for programmers who charge by the hour. FREE 45-day trial.

              Comment


              • #8
                Has anyone gotton this to work with Windows-Vista ?

                Comment

                Working...
                X
                😀
                🥰
                🤢
                😎
                😡
                👍
                👎