Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Changer en VBA l'imprimante par défaut

3 réponses
Avatar
Dom
Bonjour,

Dans un module sous Access 97, je cherche comment effectuer les opérations
suivantes :

1/ Changer l'imprimante par défaut pour qu'un état (E_Accord)puisse être
enregistrer automatiquement au format pdf via cutePDF Printer dans un
dossier donné (cutePDF printer étant déjà installé sur le poste de travail)
sous le nom E_Accord.pdf.

2/ Transmettre ce fichier pdf en pj à une adresse de courriel via OE avec
un message ayant pour objet "Etat d'accord" et dont le corps serait "Je vous
prie de bien vouloir, etc..., etc...)

3/ Rétablir l'imprimante par défaut d'origine après l'envoi du message et de
sa pièce jointe.

Est-ce que cela est faisable et si oui comment ?

D'avance, je vous remercie.

Bien cordialement,

Dominique.

3 réponses

Avatar
Raymond [mvp]
Bonjour.

C'est faisable et tu as le code dans les archives google à l'adresse:

http://groups.google.fr/group/microsoft.public.fr.access/browse_thread/thread/70ecfd5df935b809/e90f5d90a6fab176?lnk=gst&q=imprimante+d%C3%A9faut+97&rnum=2&hl=fr#e90f5d90a6fab176

mais attention, c'est un code qui n'est plus maintenu depuis longtemps et
qui est complètement obsolète dans les versions 2000 et + , et donc personne
ne va plus plonger dedans.



--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"Dom" a écrit dans le message de news:
468bc0c6$0$12379$
| Bonjour,
|
| Dans un module sous Access 97, je cherche comment effectuer les opérations
| suivantes :
|
| 1/ Changer l'imprimante par défaut pour qu'un état (E_Accord)puisse être
| enregistrer automatiquement au format pdf via cutePDF Printer dans un
| dossier donné (cutePDF printer étant déjà installé sur le poste de
travail)
| sous le nom E_Accord.pdf.
|
| 2/ Transmettre ce fichier pdf en pj à une adresse de courriel via OE
avec
| un message ayant pour objet "Etat d'accord" et dont le corps serait "Je
vous
| prie de bien vouloir, etc..., etc...)
|
| 3/ Rétablir l'imprimante par défaut d'origine après l'envoi du message et
de
| sa pièce jointe.
|
| Est-ce que cela est faisable et si oui comment ?
|
| D'avance, je vous remercie.
|
| Bien cordialement,
|
| Dominique.
|
|
|
|
Avatar
Fabien
Bonjour.

C'est faisable et tu as le code dans les archives google à l'adresse:

http://groups.google.fr/group/microsoft.public.fr.access/browse_thread/thread/70ecfd5df935b809/e90f5d90a6fab176?lnk=gst&q=imprimante+d%C3%A9faut+97&rnum=2&hl=fr#e90f5d90a6fab176

mais attention, c'est un code qui n'est plus maintenu depuis longtemps et
qui est complètement obsolète dans les versions 2000 et + , et donc personne
ne va plus plonger dedans.



Bonjour,

J'ai mis au point ce genre de module mais sous a2k.
Pour ma part j'ai utilisé du code trouvé sur le site de Stéphane Lebans
: A2000SnapshotToPDFver751.mdb
L'avantage c'est qu'il s'affranchit d'un utilitaire quelconque.
et le code ci dessous pour parceque je n'utilise pas OE

A tester sous a97...

Option Compare Database
Option Explicit


Function SendMailCDO(Sender As Variant, Receiver As Variant, Subject As
String, BodyText As String, Fichier_joint As String, Optional Cc As
String, Optional Bcc As String)

Dim Cdo_Message As New CDO.Message
Dim I, J As Integer
Dim nom_fichier, Smtp As String
On Error GoTo Erreur
Smtp = Nz(DLookup("[Smtp]", "Club"), "")
If Smtp = "" Then
MsgBox "Vos emails ne pourront être remis à leur destinataire :
Serveur SMTP non renseigné dans formulaire CLUB !"
Else
Set Cdo_Message.Configuration = GetSMTPServerConfig()

With Cdo_Message


.To = Receiver

.From = Sender

.Subject = Subject

.Cc = Cc

.Bcc = Bcc

.TextBody = BodyText

If Nz(Fichier_joint, "") <> "" Then
' La listes des fichiers joints est constituée de noms
séparés par des ;
' fichier1.ext;fichier2.ext;fichier3.ext
' La fonction d'attachement doit être réalisée fichier par
fichier
' .addAttachement (fichier1.ext)
' .addAttachement (fichier2.ext)
' On décompose donc la liste en éléments
I = 1 ' Position du ; dans la liste des fichiers en partant
de la derniére position connu d'un ; +1
J = 0 ' Position du ; précédent
While InStr(I, Fichier_joint, ";") > 0
I = InStr(I, Fichier_joint, ";")
.AddAttachment (Mid(Fichier_joint, J + 1, I - 1))
nom_fichier = Mid(Fichier_joint, J + 1, I - 1)
J = I
I = I + 1
Wend
.AddAttachment (Mid(Fichier_joint, J + 1))
nom_fichier = Mid(Fichier_joint, J + 1)
End If


.send

End With

Set Cdo_Message = Nothing
End If
GoTo Sortie
Erreur:
Select Case Err.Number
Case -2147220973:
MsgBox "Message Non envoyé, votre FAI refuse l'utilisation de "
& Smtp & " ! Vérifiez votre serveur SMTP (Formulaire Club) !" & vbCrLf &
"Erreur Systéme N° : " & Err.Number & vbCrLf & Err.Description
Case Else
MsgBox "Message Non envoyé !" & vbCrLf & "Erreur Systéme N° : "
& Err.Number & vbCrLf & Err.Description
End Select
Resume Next
Sortie:
End Function


Function GetSMTPServerConfig() As Object

Dim Cdo_Config As New CDO.Configuration

Dim Cdo_Fields As Object
Dim Smtp As String

Set Cdo_Fields = Cdo_Config.Fields
Smtp = Nz(DLookup("[Smtp]", "Club"), "")
With Cdo_Fields

.Item(cdoSendUsingMethod) = cdoSendUsingPort

.Item(cdoSMTPServer) = Smtp
.Item(cdoSMTPServerPort) = 25

.Update

End With

Set GetSMTPServerConfig = Cdo_Config

Set Cdo_Config = Nothing

Set Cdo_Fields = Nothing

End Function



'Syntaxe:


'Call SendMailCDO("", "",
"sujet", "corps du message","fichier_joint.ext")

Avatar
Fabien
Bonjour.

C'est faisable et tu as le code dans les archives google à l'adresse:

http://groups.google.fr/group/microsoft.public.fr.access/browse_thread/thread/70ecfd5df935b809/e90f5d90a6fab176?lnk=gst&q=imprimante+d%C3%A9faut+97&rnum=2&hl=fr#e90f5d90a6fab176

mais attention, c'est un code qui n'est plus maintenu depuis longtemps et
qui est complètement obsolète dans les versions 2000 et + , et donc personne
ne va plus plonger dedans.





L'adresse sur le site de Lebans : http://www.lebans.com/reporttopdf.htm