Envoyer un fax par script

LionelD -  
 LionelD -
Bonjour,

Je cherche à envoyer des fax par script, vbs ou vb6.
Je possède une imprimante / scan / photocopieur / fax pour lequel j'ai plusieurs drivers d'imprimante, dont un "Fax".
Ainsi, lorsque j'imprime (dans Word par exemple) et que je sélectionne l'imprimante "Fax", je rentre le numéro de fax et au lieu d'imprimer, ça fax :)
Je souhaiterais attaquer cette imprimante par script, mais je ne sais pas comment faire. Je sais aller jusqu'à l'étape de sélection de l'imprimante, mais je ne vois pas comment ajouter le numéro de fax...

Quelqu'un a-t-il déjà fait un tel programme ?

NB : Je n'ai pas de serveur SMTP, donc je ne souhaite pas utiliser de FaxToMail et vice versa.

Merci pour votre aide,

Lionel
Configuration: Windows XP
Firefox 3.5.3

3 réponses

  1. LionelD
     
    Bon alors j'ai fini par trouver après pas mal d'heures de recherches et de tentatives de codes plus ou moins fructueuses...
    Je partage donc :
    J'empile mes docs à faxer dans un répertoire.
    J'utilise un fichier .vbs que j'appelle de manière quotidienne à heure fixe qui :

    - Définit l'imprimante par défaut comme étant celle du Fax au début du programme puis remet la bonne imprimante par défaut à la fin du programme
    CONST IMP_DEF = "TOSHIBA e-STUDIO6530CSeriesPCL6"
    CONST IMP_FAX = "TOSHIBA e-STUDIO Series Fax"
    ...
    SetDefaultPrinter IMP_FAX
    ...
    SetDefaultPrinter IMP_DEF

    Sub SetDefaultPrinter(p)
    Dim oPrinter
    Set oPrinter = CreateObject("WScript.Network")
    oPrinter.SetDefaultPrinter p
    End Sub


    - Ouvrer mon fichier et l'imprime avec des "SendKeys" : le principe c'est de faire comme si c'était un humain qui appuyait sur les touches avec des combinaisons de CTRL / TAB / ENTER
    Set oShell = CreateObject("WScript.Shell")
    oShell.Run CheminFichier
    WScript.Sleep 1000
    oShell.SendKeys "^(p)" 'simule un CTRL + P pour print
    WScript.Sleep 500
    oShell.SendKeys "{TAB}"
    oShell.SendKeys "{ENTER}"
    WScript.Sleep 200
    oShell.SendKeys "{TAB}"
    oShell.SendKeys "{TAB}"
    oShell.SendKeys "{ENTER}"
    WScript.Sleep 200
    oShell.SendKeys NumeroFax
    WScript.Sleep 200
    oShell.SendKeys "{ENTER}"
    WScript.Sleep 200
    oShell.SendKeys "{TAB}"
    oShell.SendKeys "{TAB}"
    oShell.SendKeys "{TAB}"
    oShell.SendKeys "{TAB}"
    oShell.SendKeys "{TAB}"
    oShell.SendKeys "{TAB}"
    oShell.SendKeys "{TAB}"
    oShell.SendKeys "{ENTER}"
    WScript.Sleep 200
    oShell.SendKeys "{ENTER}"


    - Tue Acrobat à la fin du script
    KillAcrobat

    Sub KillAcrobat()
    Set oService = getObject("winmgmts:")
    For Each p in oService.InstancesOf("Win32_process")
    If Instr(lcase(p.Name), "acrord32.exe") > 0 Then
    p.Terminate()
    Exit Sub
    End If
    Next
    End Sub
    2
  2. bluerequin Messages postés 9 Statut Membre 15
     
    Slt,

    Sub CheckError(strDetails)
       Dim strErr
       If Err.Number <> 0 then
         strErr = strDetails & " : Exception " & Err.Description & " err.Number=0x" & Hex(Err.Number)
         WScript.Echo strErr
         WScript.Quit(Err.Number)
       End If
    End Sub 


    Cdt
    0
  3. LionelD
     
    Merci d'avoir pris le temps de lire intégralement mon message :)

    Donc... je n'ai pas d'erreur, je ne sais juste pas comment coder ça...

    Cordialement (parce que je préfère ça aux abréviations ^^)
    0
    1. LionelD
       
      Personne n'a eu à faire ce genre de choses ? c'est dingue, ça me semble ultra simple comme ça, et lorsque je cherche sur le web, je ne trouve rien d'autre que des FaxMail ou l'utilisation d'un FaxModem

      Personne n'a automatisé l'envoi de fax via du code en appelant un fax de type imprimante ?

      Please help :$

      Lionel
      0