Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 ?
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" <emc@nospam.fr> a écrit dans le message de
news:Oq6kxmCiDHA.2408@TK2MSFTNGP12.phx.gbl...
Je cherche à imprimer une série de PDF directement depuis Access.
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 ?
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
'******************************************************************** 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
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
'********************************************************************
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
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
'******************************************************************** 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