Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/07/2011, 17h03   #1
Membre habitué
 
Inscription : juillet 2010
Messages : 117
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2010
Messages : 117
Points : 140
Points : 140
Par défaut Recherche dans PDF

Bonjour à tous,

Je me tourne vers vous car je planche depuis 36h sur un problème sans parvenir à le résoudre.
Je suis actuellement en train de développer une application ayant pour vocation de faire un classement de fichiers PDF. Etant donné que les fichiers en questions sont générés et enregistrés automatiquement par un logiciel de mon entreprise, les noms donnés aux différents fichiers n'ont aucun sens (ex : JHTYPMS.pdf). Le seul moyens que j'ai donc pour identifier un fichier est de faire une recherche dans celui.

J'ai repris un code que j'ai trouvé sur le forum en section Excel. Voici le code en question :
Code :
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
Option Explicit
 
Sub SelFichier()
Dim Fichier As Variant
Dim sMot As String
 
    ChDir ThisWorkbook.Path
 
    ' Mot à rechercher
    sMot = "Investments"
 
    Fichier = Application.GetOpenFilename("Fichier PDF (*.pdf), *.pdf")
    If Fichier <> False Then AcrobatFindText Fichier, sMot
End Sub
 
Private Sub AcrobatFindText(ByVal sFichier As String, ByVal sRch As String)
Dim oApp As Object
Dim oAvDoc As Object
Dim iTrouvé As Integer
 
    Set oApp = CreateObject("AcroExch.App")
    oApp.Hide
 
    Set oAvDoc = CreateObject("AcroExch.AVDoc")
 
    If oAvDoc.Open(sFichier, "") Then
        If Len(sRch) > 0 Then
            '   Parametres FindText
            '       StringToSearchFor ,
            '       caseSensitive (1 Or 0),
            '       WholeWords(1 Or 0),
            '       ResetSearchToBeginOfDocument (1 Or 0)
 
            '   Rencoie -1 si Trouvé, 0 autrement
            iTrouvé = oAvDoc.FindText(sRch, True, False, True)
        Else
            oAvDoc.Close (1)
            Set oAvDoc = Nothing
            Set oApp = Nothing
            Exit Sub
        End If
    End If
 
    oApp.Show
    oAvDoc.BringToFront
 
    Set oAvDoc = Nothing
    Set oApp = Nothing
End Sub
Le problème que je rencontre est que la variable iTrouvé a toujours la valeur -1 et ce quelque soit le résultat de la recherche. Est-ce quelqu'un aurait une idée ?
__________________
"Je suis capable du meilleur comme du pire, mais dans le pire, c'est moi le meilleur" Coluche.
Manhexter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 09h42   #2
Invité de passage
 
Inscription : octobre 2009
Messages : 1
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 1
Points : 1
Points : 1
Pourquoi n'essayes tu pas instr au lieu de findtext ?
Bobby.Lapointe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 12h30   #3
Expert Confirmé
 
Avatar de Godzestla
 
Homme
Chercheur de bonheur
Inscription : août 2007
Messages : 2 255
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de bonheur
Secteur : Industrie

Informations forums :
Inscription : août 2007
Messages : 2 255
Points : 2 979
Points : 2 979
Bonjour,

dans le poste que tu as trouvé sur le forum, il y aussi d'autres solutions proposées !
je viens de tester rapidement le code de J@C et il trouve quelquechose. Attention il y une faute dans le VBA : Remplacer Sub cherche_acroreader_() par Sub cherche_acroreader().

Je te conseille de mettre toi-même le nom complet du reader en G1 car la recherche est très longue.
__________________
(\ _ /) Cordialement G@dz
(='.'=)

(")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.
Godzestla est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h26.


 
 
 
 
Partenaires

Hébergement Web