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

Imprimer des PDF depuis Access

2 réponses
Avatar
Emmanuel CHONION
Je cherche à imprimer une série de PDF directement depuis Access.

Comment faire ?

2 réponses

Avatar
Raymond
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" a écrit dans le message de
news:
Je cherche à imprimer une série de PDF directement depuis Access.

Comment faire ?




Avatar
Emmanuel CHONION
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