Envoyer un fax par script
LionelD
-
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
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
A voir également:
- Envoyer un fax par script
- Script vidéo youtube - Guide
- Comment envoyer un point gps par sms - Accueil - Téléphones
- Envoi fax gratuit - Télécharger - Web & Internet
- Envoyer un sms en différé - Guide
- Gmail envoyer un mail - Guide
3 réponses
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
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
Slt,
Cdt
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
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 ^^)
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 ^^)
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
Personne n'a automatisé l'envoi de fax via du code en appelant un fax de type imprimante ?
Please help :$
Lionel