Comment utilisé code VBA Pour imprimer etat en PDF
teckmicro2008
Messages postés
64
Date d'inscription
Statut
Membre
Dernière intervention
-
teckmicro2008 Messages postés 64 Date d'inscription Statut Membre Dernière intervention -
teckmicro2008 Messages postés 64 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
récupérer ce code VBA pour PDF CREATOR ( état en PDF )
ou le placer dans Visual basic dans un module ?
ci-joint fichier pour me faire voir ?
https://www.cjoint.com/?3KoiWEgG3DI
Option Compare Database
Option Explicit
' Ne pas oublier de cocher la bibliothèqe PDFCreator
' dans le menu Outils / Références de Visual Basic Editor
c 'est fait !
' API Windows pour faire une temporisation en millisecondes
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
' Constantes pour les temporisations
Private Const maxTime = 10 ' en secondes
Private Const sleepTime = 250 ' en millisecondes
' ---
' IMPRESSION D'UN ETAT EN PDF
' ---
' Entrée : strReportName <- Nom de l'état à imprimer en PDF
' strWhere <- Clause WHERE filtrant l'état (facultatif)
' strPDFName <- Nom du fichier PDF à générer (facultatif)
' strDirectory <- Chemin de stockage du fichier PDF (facultatif)
'
Public Sub SaveAsPDF( _
ByVal strReportName As String, _
Optional ByVal strWhere As String = "", _
Optional ByVal strPDFName As String = "", _
Optional ByVal strDirectory As String = "")
' Quelques variables...
Dim pdfc As PDFCreator.clsPDFCreator
Dim DefaultPrinter As String
Dim c As Long
Dim OutputFilename As String
' Instancier un nouvel objet PDFCreator
Set pdfc = New clsPDFCreator
' Paramétrer l'objet PDFCreator
With pdfc
.cStart "/NoProcessingAtStartup"
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
' Chemin de destination
' Par défaut : dossier 'Mes documents' de l'utilisateur
If strDirectory = "" Then
strDirectory = Environ("USERPROFILE") & "Mes documents"
End If
.cOption("AutosaveDirectory") = strDirectory
' Nom du fichier PDF à générer
.cOption("AutosaveFilename") = _
IIf(strPDFName = "", strReportName, strPDFName)
' Format de sauvegarde (0 = PDF)
.cOption("AutosaveFormat") = 0
' Mémoriser l'imprimante par défaut
' et définir PDFCreator à la place
DefaultPrinter = .cDefaultPrinter
.cDefaultPrinter = "PDFCreator"
.cClearCache
' Imprimer l'état
DoCmd.OpenReport strReportName, acViewNormal, , strWhere
.cPrinterStop = False
End With
' Temporisation
c = 0
Do While (pdfc.cOutputFilename = "") And (c < (maxTime * 1000 / sleepTime))
c = c + 1
Sleep 200
Loop
' Nom du fichier PDF produit
OutputFilename = pdfc.cOutputFilename
' Réinstaller l'imprimante d'origine
With pdfc
.cDefaultPrinter = DefaultPrinter
Sleep 200
.cClose
End With
' Attendre jusqu'à ce que PDFCreator soit supprimé de la mémoire
Sleep 2000
' Vérifier si le fichier a été créé
If OutputFilename = "" Then
MsgBox "Création du fichier PDF." & vbCrLf & vbCrLf & _
"Une erreur s'est produite : temps écoulé !", vbExclamation + vbSystemModal
End If
End Sub
Sous Access 2003
comment utiliser la fonction avec la bouton dans le formulaire de saisie
exemple 1
La procédure SaveAsPDF peut recevoir jusqu'à 4 paramètres, dont seul le 1er est obligatoire (le nom de l'état). Voici un premier exemple de code pour tester tout ça :
Sub TestPDF01()
SaveAsPDF "rpt Clients"
End Sub
comment utiliser cette commande
Merci de votre aide pour l utilisation.
--
récupérer ce code VBA pour PDF CREATOR ( état en PDF )
ou le placer dans Visual basic dans un module ?
ci-joint fichier pour me faire voir ?
https://www.cjoint.com/?3KoiWEgG3DI
Option Compare Database
Option Explicit
' Ne pas oublier de cocher la bibliothèqe PDFCreator
' dans le menu Outils / Références de Visual Basic Editor
c 'est fait !
' API Windows pour faire une temporisation en millisecondes
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
' Constantes pour les temporisations
Private Const maxTime = 10 ' en secondes
Private Const sleepTime = 250 ' en millisecondes
' ---
' IMPRESSION D'UN ETAT EN PDF
' ---
' Entrée : strReportName <- Nom de l'état à imprimer en PDF
' strWhere <- Clause WHERE filtrant l'état (facultatif)
' strPDFName <- Nom du fichier PDF à générer (facultatif)
' strDirectory <- Chemin de stockage du fichier PDF (facultatif)
'
Public Sub SaveAsPDF( _
ByVal strReportName As String, _
Optional ByVal strWhere As String = "", _
Optional ByVal strPDFName As String = "", _
Optional ByVal strDirectory As String = "")
' Quelques variables...
Dim pdfc As PDFCreator.clsPDFCreator
Dim DefaultPrinter As String
Dim c As Long
Dim OutputFilename As String
' Instancier un nouvel objet PDFCreator
Set pdfc = New clsPDFCreator
' Paramétrer l'objet PDFCreator
With pdfc
.cStart "/NoProcessingAtStartup"
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
' Chemin de destination
' Par défaut : dossier 'Mes documents' de l'utilisateur
If strDirectory = "" Then
strDirectory = Environ("USERPROFILE") & "Mes documents"
End If
.cOption("AutosaveDirectory") = strDirectory
' Nom du fichier PDF à générer
.cOption("AutosaveFilename") = _
IIf(strPDFName = "", strReportName, strPDFName)
' Format de sauvegarde (0 = PDF)
.cOption("AutosaveFormat") = 0
' Mémoriser l'imprimante par défaut
' et définir PDFCreator à la place
DefaultPrinter = .cDefaultPrinter
.cDefaultPrinter = "PDFCreator"
.cClearCache
' Imprimer l'état
DoCmd.OpenReport strReportName, acViewNormal, , strWhere
.cPrinterStop = False
End With
' Temporisation
c = 0
Do While (pdfc.cOutputFilename = "") And (c < (maxTime * 1000 / sleepTime))
c = c + 1
Sleep 200
Loop
' Nom du fichier PDF produit
OutputFilename = pdfc.cOutputFilename
' Réinstaller l'imprimante d'origine
With pdfc
.cDefaultPrinter = DefaultPrinter
Sleep 200
.cClose
End With
' Attendre jusqu'à ce que PDFCreator soit supprimé de la mémoire
Sleep 2000
' Vérifier si le fichier a été créé
If OutputFilename = "" Then
MsgBox "Création du fichier PDF." & vbCrLf & vbCrLf & _
"Une erreur s'est produite : temps écoulé !", vbExclamation + vbSystemModal
End If
End Sub
Sous Access 2003
comment utiliser la fonction avec la bouton dans le formulaire de saisie
exemple 1
La procédure SaveAsPDF peut recevoir jusqu'à 4 paramètres, dont seul le 1er est obligatoire (le nom de l'état). Voici un premier exemple de code pour tester tout ça :
Sub TestPDF01()
SaveAsPDF "rpt Clients"
End Sub
comment utiliser cette commande
Merci de votre aide pour l utilisation.
--
A voir également:
- Code vba pour imprimer une feuille excel en pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Code ascii - Guide
- Imprimer tableau excel sur une page - Guide
- Comment imprimer en a5 sur une feuille a4 - Guide
- Liste déroulante excel - Guide
je viens de télécharger votre fichier !
mais lorsque je clique sur bouton libre erreur
j 'ai du mal faire un truc !
cordialement
Merci
Quelle erreur ???????????
merci
cd
donc Access ouvre fenêtre et bug !
vous auriez pas autre solution ! plus simple
avec une macro ou on pourrais demander le non de fichier a enregistrer en PDF !
merci de votre aide et compétences !
Cordialement
Access ouvre fenêtre et bug ! qu'avez-vous comme message ????????
on pourrais demander le non de fichier a enregistrer un etat access n'est pas un fichier.
Si vous mettiez votre fichier (celui que vous utilisez) a dispo ca serait un peu mieux. Vous pouvez passer par les MP (Messages Personnels), li n'aurait que nous deux a le voir