Ouvrir un fichier dont le nom commence par ...

cs_ll Messages postés 2 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 2 octobre 2003 - 2 oct. 2003 à 00:20
cs_ll Messages postés 2 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 2 octobre 2003 - 2 oct. 2003 à 19:53
Help,

j'ai commencé par vb pour excel et viens de me mettre à vb6

je n'arrive pas à trouver comment ouvrir un fichier dont le nom commence par 00020012* sachant que mon fichier se nomme 00020012_truc_machin.pdf

avec Application.FileSearch ====> EXCEL
.LookIn = "C:\MONREPERTOIRE"
.FileType = msoFileTypeAllFiles
.Filename = numdos 'en réalité numdos= variable mon chiffre & "*"
...et une boucle tout se passait bien

sous vb6 je n'y arrive pas

merci d'un coup de main

laure l.

2 réponses

pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
2 oct. 2003 à 01:15
utilise l 'api shellexecute

'dans les declarations de la form
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

'dans la procedure de ta form
ShellExecute hwnd, "open", "c:\mon repertoire\00020012_truc_machin.pdf", vbNullString, vbNullString, SW_SHOW

'Voila cette api permet d'executer un fichier en l'ouvrant par le programme par defaut!!!!
0
cs_ll Messages postés 2 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 2 octobre 2003
2 oct. 2003 à 19:53
merci d'avoir eu la gentillesse
de m'aider...

mais si je puis me permettre...

je n'avais pas précisé en détails
mon code sous VB pour EXCEL le voici :

Set fs = Application.FileSearch
With fs
.LookIn = "C:\MONREPERTOIRE"
.FileType = msoFileTypeAllFiles
.Filename = numdos
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
'Debug.Print .FoundFiles(i)
chemin = .FoundFiles(i)
'Debug.Print chemin
Dim Retval
Retval = ShellExecuteA(0, "Open", chemin, "", "", 10)
Next i

Else
MsgBox "Il n'y a pas de fichier enregistré pour ce dossier."
End If
End With

comme tu le constates j'utilise déjà ShellExecuteA
déclarée comme tu me l'indiques.

mon souci c'est ma variable numdos (du .FileName)

en effet cette variable correspondant à une
information que je recherche dans un fichier .ini
et qui se présente toujours sous la forme
d'un numéro de 8 chiffres (ex 00010230).

tous mes fichiers .pdf ont un nom structuré
comme suit :
8chiffres_truc_machin.pdf
les 8 chiffres étant toujours l'info récupérée
dans le .ini mais ce n'est pas toujours truc_machin
la suite du nom

donc sous VB EXCEL
ma variable numdos = 8chiffres & *
et ShellExecuteA ouvre bien le fichier concerné

mais sous VB 6 ShellExecuteA n'ouvre pas le fichier concerné
SAUF si je donne son nom complet
VB 6 ne reconnait pas 8chiffres & *

d'où ma question mal exposée
comment ouvrir un fichier quand on n'a que le
début de son nom ?

merci d'avance de toute aide
laure l.
0
Rejoignez-nous