IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Lien Hypertexte .pdf [AC-2007]


Sujet :

Access

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2010
    Messages : 29
    Points : 22
    Points
    22
    Par défaut
    bonjour

    en effet, il semblerait...
    J'ai regardé les messages précédents et dans celui du 11/10 il y a une différence entre les 2 noms -1107-1108... En tout cas, merci de ton aide
    et merci pour le code, je vais le tester...
    bonne journée

  2. #22
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2010
    Messages : 29
    Points : 22
    Points
    22
    Par défaut
    re-bonjour,

    grrrrr... j'ai une erreur avec le code (désolé)
    ligne 25
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oShellFolderItem = oShellFolder.Items.Item(CVar(sFile))
    "erreur '91' : Variable objet ou variable de bloc With non définie"
    tu sais m'en dire plus ?
    merci

  3. #23
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Non, je ne sais pas précisément d'où vient l'erreur.
    Ça peut être un dossier non valide, un nom de fichier non valide, la version de Windows (je suis sous XP familial) qui fait que Shell32 fonctionne différemment.

    Voici une version avec des vérifications :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Private Sub CmdPrint_Click()
    Dim oShell As Object            ' Shell32.Shell
    Dim oShellFolder As Object      ' Shell32.Folder
    Dim oShellFolderItem As Object  ' Shell32.FolderItem
    Dim sFullPathName As String
    Dim sPath As String, sFile As String
     
    ' On suppose que reporting_pdf_name contient le chemin relatif et le nom du fichier.
    ' Le chemin relatif commence à partir du chemin de la base de données.
     
    ' Chemin complet + nom du fichier
    sFullPathName = CurrentProject.Path & "\" & Me.reporting_pdf_name
     
    ' On extrait le chemin
    sPath = Left(sFullPathName, InStrRev(sFullPathName, "\") - 1)
    If Len(sPath) < 3 Then sPath = sPath & "\"
    ' On extrait le nom du fichier
    sFile = Mid(sFullPathName, InStrRev(sFullPathName, "\") + 1)
     
    ' Création objet Shell32.Shell
    Set oShell = CreateObject("Shell.Application")
    If oShell Is Nothing Then
       MsgBox "L'objet oShell n'a pas pû être créé."
       GoTo EndSub
    End If
    ' Obtention objet Shell32.Folder sur le dossier contenant le fichier
    Set oShellFolder = oShell.NameSpace(CVar(sPath))
    If oShellFolder Is Nothing Then
       MsgBox "Le dossier '" & sPath & "' n'existe pas."
    Else
       ' Obtention objet Shell32.FolderItem sur le fichier
       Set oShellFolderItem = oShellFolder.Items.Item(CVar(sFile))
       If oShellFolderItem Is Nothing Then
          MsgBox "Le fichier '" & sFile & "' n'a pas été trouvé" & vbCrLf & _
                 "dans '" & sPath & "'"
       Else
          ' Appel du verbe "print" (imprimer)
          oShellFolderItem.InvokeVerb "print"
       End If
    End If
     
    EndSub:
    ' Libération des variables objets
    Set oShellFolderItem = Nothing
    Set oShellFolder = Nothing
    Set oShell = Nothing
    End Sub
    Une autre version sans oShellFolder.Items.Item(CVar(sFile)) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    Private Sub CmdPrint_Click()
    Dim oShell As Object            ' Shell32.Shell
    Dim oShellFolder As Object      ' Shell32.Folder
    Dim oShellFolderItem As Object  ' Shell32.FolderItem
    Dim sFullPathName As String
    Dim sPath As String, sFile As String
    Dim bFileFound As Boolean
     
    ' On suppose que reporting_pdf_name contient le chemin relatif et le nom du fichier.
    ' Le chemin relatif commence à partir du chemin de la base de données.
     
    ' Chemin complet + nom du fichier
    sFullPathName = CurrentProject.Path & "\" & Me.reporting_pdf_name
     
    ' On extrait le chemin
    sPath = Left(sFullPathName, InStrRev(sFullPathName, "\") - 1)
    If Len(sPath) < 3 Then sPath = sPath & "\"
    ' On extrait le nom du fichier
    sFile = Mid(sFullPathName, InStrRev(sFullPathName, "\") + 1)
     
    ' Création objet Shell32.Shell
    Set oShell = CreateObject("Shell.Application")
    If oShell Is Nothing Then
       MsgBox "L'objet oShell n'a pas pû être créé."
       GoTo EndSub
    End If
    ' Obtention objet Shell32.Folder sur le dossier contenant le fichier
    Set oShellFolder = oShell.NameSpace(CVar(sPath))
    If oShellFolder Is Nothing Then
       MsgBox "Le dossier '" & sPath & "' n'existe pas."
    Else
       ' Obtention objet Shell32.FolderItem sur le fichier
       For Each oShellFolderItem In oShellFolder.Items
           If oShellFolderItem.IsFolder = False Then
              If StrComp(oShellFolderItem.Name, sFile, vbTextCompare) = 0 Then
                 bFileFound = True
                 Exit For
              End If
           End If
       Next
     
       If Not bFileFound Then
          MsgBox "Le fichier '" & sFile & "' n'a pas été trouvé" & vbCrLf & _
                 "dans '" & sPath & "'"
       Else
          ' Appel du verbe "print" (imprimer)
          oShellFolderItem.InvokeVerb "print"
       End If
    End If
     
    EndSub:
    ' Libération des variables objets
    Set oShellFolderItem = Nothing
    Set oShellFolder = Nothing
    Set oShell = Nothing
    End Sub
    Enfin une version avec la fonction ShellExecute de l'API Windows :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Option Compare Database
    Option Explicit
     
    Private Declare Function ShellExecute 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
     
    Private Sub CmdPrint_Click()
    Dim sFullPathName As String
     
    ' On suppose que reporting_pdf_name contient le chemin relatif et le nom du fichier.
    ' Le chemin relatif commence à partir du chemin de la base de données.
     
    ' Chemin complet + nom du fichier
    sFullPathName = CurrentProject.Path & "\" & Me.reporting_pdf_name
     
    ShellExecute Me.hwnd, "print", sFullPathName, "", "", 0
     
    End Sub
    Tu noteras la déclaration de ShellExecute, dans la section Déclarations du module de code du formulaire.

    A+

  4. #24
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2010
    Messages : 29
    Points : 22
    Points
    22
    Par défaut
    bonjour LedZepp,

    merci beaucoup ... je n'ai pas eu le temps d'essayer la nouvelle version...

    bonne soirée

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2010
    Messages : 29
    Points : 22
    Points
    22
    Par défaut
    bonjour LedZepp,

    super, ça fonctionne (la première version). J'ai fait avec un Etat.
    Le seul petit hic, c'est que j'ai le bouton de commande à côté de chaque document. Je vais chercher le moyen d'imprimer tous les documents d'un seul clic. En tout cas, un tout grand pour ton aide...

    Bon WE,
    a+

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Souci de lien hypertext -> pdf
    Par unratalle dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/04/2015, 12h00
  2. Importation excel avec lien hypertexte pdf dans sharepoint
    Par helene1 dans le forum Configuration
    Réponses: 1
    Dernier message: 06/12/2011, 09h31
  3. [Toutes versions] Lien Hypertexte .pdf
    Par dingdong dans le forum Microsoft Office
    Réponses: 0
    Dernier message: 04/10/2011, 15h20
  4. ouvrir un lien hypertexte pdf dans firefox
    Par azerty.123.450 dans le forum Firefox
    Réponses: 2
    Dernier message: 09/05/2010, 23h27
  5. warning sécurité ouverture lien hypertexte PDF
    Par sebdu dans le forum Windows XP
    Réponses: 0
    Dernier message: 07/01/2010, 10h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo