Teste et propriéte d'un lien PDF sur excel 2007

llouisin Messages postés 12 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 25 novembre 2009 - 6 juin 2008 à 11:32
llouisin Messages postés 12 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 25 novembre 2009 - 17 juin 2008 à 08:44
Bonjour,

Après une tres longue absence je me remet au VB sur excel 2007. Autant dire que je ne me rappel plus de rien !

Voici mon probleme :

J'ai une liste avec 5000 lien hypertexte qui me renvoie à un document PDF. Je voudrai qu'une macro puisse ouvrir les liens pdf un par uns, que la macro verifie (test) si le lien est valide (sinon afficher un message d'erreur).

Puis je voudrai qu'il me recupere le nombre de pages et le titre de la premiere page du document PDF et qu'il me le reporte dans une cellule...

Je travail sur XP et excel 2007.

Merci par avance de votre aide...

J'ecoute toutes propositions qui me permettrai de ne pas me faire les 5000 liens car je vais en avoir pour des mois !

laurent

9 réponses

jepassaisparla Messages postés 8 Date d'inscription vendredi 25 avril 2008 Statut Membre Dernière intervention 14 juin 2008
6 juin 2008 à 12:27
pour vérifier la pertinence des liens pas de problème, par
contre pour lire du pdf et récupérer du texte à partir d’excel ?



Visiblement tu seras obligé de les ouvrir.
0
llouisin Messages postés 12 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 25 novembre 2009
6 juin 2008 à 14:18
Ce serait deja un grand pas pour moi de verifier la pertinence des liens.

Ensuite ca ne pose aucun probleme de les ouvrirs a partir de la macro mais j'essai d'eviter de les ouvrir moi car il y en a 5000 comme ca...

laurent
0
llouisin Messages postés 12 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 25 novembre 2009
9 juin 2008 à 17:16
Bonjour, je n'arrive toujours pas à trouver une solution, ca deviens urgent !! please !!

J'ai fais le lien ci-dessous mais je n'arrive toujours pas à afficher les lien érroné. Je dois controler la colonne 20, et je reporte mon info dans la colonne 1. Probleme il m'affiche toujours qu'il ne trouve pas les liens alors que certains existe...

Public Sub checklinks()
    Dim chemn As String
    Dim nom As String
    Dim typ
    Dim niv
    Dim struc
    Dim d
    Dim structure
    Dim h As Hyperlink
    Dim i, j, k
    Dim s() As String
    Dim s1() As String
    'Dim f As File
    'Dim s As New FileSystemObject
    'Dim w As Worksheet
   
   
    k = 1
 
    Set w = Workbooks(1).Worksheets(1)
    w.Select
    For i = 7 To 6000
       
     
           If w.Cells(i, 20).Hyperlinks.Count = 1 Then  'vérifie si la cellule contient un lien hypertexte
               nom = w.Cells(i, 20).Hyperlinks(1).Name
               chemn = w.Cells(i, 20).Hyperlinks(1).Address
                If nom = "" And chemn <> "" Then
                    w.Cells(i, 1).Value = "lien sans nom"
                End If
                If nom <> "" And chemn = "" Then
                    w.Cells(i, 1).Value = "Nom sans lien"
                End If
                s = Split(chemn, "/")
                s1 = Split(s(UBound(s)), ".")
                If s1(0) <> nom Then
                    w.Cells(i, 1).Value = "Incohérence de noms"
                    'w.Cells(i, 20).Hyperlinks(1).Follow
                End If
            End If
    Next i
    Set w = Nothing

End Sub

laurent
0
jepassaisparla Messages postés 8 Date d'inscription vendredi 25 avril 2008 Statut Membre Dernière intervention 14 juin 2008
9 juin 2008 à 21:41
toujours au plus simple, ça devrait donner quelque chose comme ça

Sub BonsLiens()
Set ff = ActiveSheet ' les liens sont attachés à la feuille, pas aux cellules
For Each i In ff.Hyperlinks
    vaddress = i.Address 'le nom complet
    vnc = i.Range.Column 'la colonne
    vnl = i.Range.Row 'la ligne
    fic = Dir(vaddress)
    If fic <> "" Then
        Cells(vnl, vnc).Interior.ColorIndex = 4 ' ou cells(vnl,1)="Ok"
      Else
        Cells(vnl, vnc).Interior.ColorIndex = 3 ' ou cells(vnl,1)="c'est pas bon hein "
    End If
Next i
End Sub

bon courage pour la suite.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
llouisin Messages postés 12 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 25 novembre 2009
10 juin 2008 à 10:16
Merci pour ton aide, ca m'aide deja pas mal.

Ce prog arrive a faire la différence en les liens hypertexte et du simple texte.  Mais il n'arrive pas à voir les liens hypertexte qui ne fonctionnent pas ou qui ont un chemin d'adresse érroné.

Si vous pouviez aussi m'aider la dessus...

En résumé il me manque :

La vérification des liens érronés ( chemin d'acces ou faux hypertexte)
Le nombre de pages du PDF ...

Merci de votre aide

laurent
0
jepassaisparla Messages postés 8 Date d'inscription vendredi 25 avril 2008 Statut Membre Dernière intervention 14 juin 2008
11 juin 2008 à 20:06
je ne comprends pas vraiment le probléme.
Le code traite tous les liens hypertextes car on utilise la collection 'hyperlinks'.
Si des cellules ne sont pas traitées alors ce ne sont pas des liens H.
Il faut se méfier d'xl, ce n'est pas ce qu'il gère le mieux, après des manipulations sur un fichier ( suppressions, tries...) il arrive que les liens ne correpondent plus aux cellules même si celles-ci ont conservé le format du lien H.
Pour ton affaire il faudrait faire une expertise plus complète du fichier, je n'est pas assez de données.
0
llouisin Messages postés 12 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 25 novembre 2009
12 juin 2008 à 08:30
Je vais essayer de m'exprimer un peu mieux...

Par exemple si le programme test un lien X, et que ce lien est bien un hypertexte, le programme considere que ce lien est bon.

Par contre si ce lien est bien un hypertexte mais que le chemin d'acces (adresse C\dossier_x) est erronée, le programme ne met pas une alerte. Quand je clic sur ce lien érroné, excel m'affiche " Impossible d'ouvrir le fichier spécifié ".

Je voudrai avoir une liste des liens corrompue afin de les "réparer"...

Ou alors c'est moi qui exploite mal ton programme (je suis une bille sur Vb)

laurent
0
jepassaisparla Messages postés 8 Date d'inscription vendredi 25 avril 2008 Statut Membre Dernière intervention 14 juin 2008
14 juin 2008 à 10:38
je me suis fait un fichier de test avec quelques liens bons et mauvais..
je lance le code sur ma feuille et les bons sont en vert et les liens qui pointent sur rien passent en rouge. Si ils ne  changent pas de couleur,  ce ne sont pas des liens.
...Ou alors c'est les droits d'accès sur un serveur qui sont en cause, tes droits dans ce ( ces ) répertoire sont peut-être limités à la vision des noms de  fichiers mais pas à leur ouverture? si c'est un serveur d'entreprise vois avec un administrateur.   
 
0
llouisin Messages postés 12 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 25 novembre 2009
17 juin 2008 à 08:44
vaddress = i.Address 'le nom complet
    vnc = i.Range.Column 'la colonne
    vnl = i.Range.Row 'la ligne

Que je ne me plante pas :
Le nom complet = nom du fichier excel
et les 2 autres je n'y touche pas ...

c'est bien ca ?
laurent
0
Rejoignez-nous