Imprimer des PDF depuis Access

Le
Emmanuel CHONION
Je cherche à imprimer une série de PDF directement depuis Access.

Comment faire ?
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond
Le #4266551
Bonjour.

pour imprimer un pdf il faut lancer acrobat reader mais il faut passer par
unje api qui lance d'après l'extension.
voir la page: http://access.seneque.free.fr/executer_selon_ext.htm

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Emmanuel CHONION" news:
Je cherche à imprimer une série de PDF directement depuis Access.

Comment faire ?




Emmanuel CHONION
Le #4266441
Merci, c'est effectivement ce que je cherchais à faire.

Pour imprimer, j'ai repris le même principe avec l'action qui va bien, et ça
va bien ...

Pour ceux que ça intéresse :

Option Explicit

Private Declare Function ShellExec Lib "shell32.dll" _
Alias "ShellExecuteA" _
(ByVal Hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) _
As Long

Public Enum Mode_Ouverture
Normal = 1
Maximum = 2
Minimum = 3
End Enum

Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&

'********************************************************************
Function ShellOpenfileExtend(Fichier As String, Fenêtre As Mode_Ouverture)
As String
Dim lRet As Long, varTaskID As Variant
Dim stRet As String

lRet = ShellExec(hWndAccessApp, vbNullString, _
Fichier, vbNullString, vbNullString, Fenêtre)
If lRet > ERROR_SUCCESS Then
stRet = vbNullString
lRet = -1
Else
Select Case lRet
Case ERROR_NO_ASSOC:
varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " & Fichier,
1)
lRet = (varTaskID <> 0)
Case ERROR_OUT_OF_MEM:
stRet = "Erreur: Pas assez de mémoire pour exécuter"
Case ERROR_FILE_NOT_FOUND:
stRet = "Erreur : Fichier non trouvé"
Case ERROR_PATH_NOT_FOUND:
stRet = "Erreur : chemin non trouvé"
Case ERROR_BAD_FORMAT:
stRet = "Erreur : Type de fichier inconnu"
Case Else:
End Select
End If

ShellOpenfileExtend = lRet & _
IIf(stRet = "", vbNullString, ", " & stRet)
End Function


Function ShellPrintFile(Fichier As String) As String
Dim lRet As Long, varTaskID As Variant
Dim stRet As String

lRet = ShellExec(hWndAccessApp, "print", _
Fichier, vbNullString, vbNullString, 1)
If lRet > ERROR_SUCCESS Then
stRet = vbNullString
lRet = -1
Else
Select Case lRet
Case ERROR_NO_ASSOC:
varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " & Fichier,
1)
lRet = (varTaskID <> 0)
Case ERROR_OUT_OF_MEM:
stRet = "Erreur: Pas assez de mémoire pour exécuter"
Case ERROR_FILE_NOT_FOUND:
stRet = "Erreur : Fichier non trouvé"
Case ERROR_PATH_NOT_FOUND:
stRet = "Erreur : chemin non trouvé"
Case ERROR_BAD_FORMAT:
stRet = "Erreur : Type de fichier inconnu"
Case Else:
End Select
End If
ShellPrintFile = lRet & _
IIf(stRet = "", vbNullString, ", " & stRet)
End Function
Publicité
Poster une réponse
Anonyme