Parcourir son disque en vga

Parcourir son disque en vga - VB/VBA/VBS - Programmation

Marsh Posté le 27-09-2005 à 19:25:41    

Slt,
je viens de récupérer du code pour parcourir son disque,  
mais j'ai une erreur qui apparait quand je l'execute.
L'erreur est "erreur de compilation, utilisation incorrecte du mot clé ME".
 
Si qq"un a une idee, voici le code :  
 

Citation :


Option Explicit
 
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const BIF_DONTGOBELOWDOMAIN = 2
Private Const MAX_PATH = 260
 
Private Declare Function SHBrowseForFolder Lib _
"shell32" (lpbi As BrowseInfo) As Long
 
Private Declare Function SHGetPathFromIDList Lib _
"shell32" (ByVal pidList As Long, ByVal lpBuffer _
As String) As Long
 
Private Declare Function lstrcat Lib "kernel32" _
Alias "lstrcatA" (ByVal lpString1 As String, ByVal _
lpString2 As String) As Long
 
Private Type BrowseInfo
   hWndOwner As Long
   pIDLRoot As Long
   pszDisplayName As Long
   lpszTitle As Long
   ulFlags As Long
   lpfnCallback As Long
   lParam As Long
   iImage As Long
End Type
 
 
Private Sub Command1_Click()
'Opens a Browse Folders Dialog Box that displays the  
'directories in your computer
Dim lpIDList As Long ' Declare Varibles
Dim sBuffer As String
Dim szTitle As String
Dim tBrowseInfo As BrowseInfo
 
szTitle = "Hello World. Click on a directory and " & _
"it's path will be displayed in a message box"
' Text to appear in the the gray area under the title bar
' telling you what to do
 
With tBrowseInfo
   .hWndOwner = Me.hWnd ' Owner Form
   .lpszTitle = lstrcat(szTitle, "" )
   .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
End With
 
lpIDList = SHBrowseForFolder(tBrowseInfo)
 
If (lpIDList) Then
   sBuffer = Space(MAX_PATH)
   SHGetPathFromIDList lpIDList, sBuffer
   sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
   MsgBox sBuffer
End If
 
End Sub


 
Merci d'avance.

Reply

Marsh Posté le 27-09-2005 à 19:25:41   

Reply

Marsh Posté le 27-09-2005 à 23:28:26    

"Me" existe en VBA/Access, mais je ne suis pas sûr à 100% que cela existe dans les autres VB.
"Me" est l'équivalent de "this". Cela désigne l'objet en cours. Dans l'exemple, "Me" devrait désigner un objet formulaire, mais comme la routine se trouve dans Command1_click, "Me" désigne le bouton, ce qui ne me parait pas très adéquat pour ce programme.

Reply

Marsh Posté le 29-09-2005 à 09:26:42    

Je viens de trouver la reponse pour ceux que ça interesse :
 

Citation :

Function BrowseFile()
    fileToOpen = Application _
        .GetOpenFilename("Fichiers MIB (*.mib), *.mib, Tous les fichiers(*.*),*.*", Null, "Selectionnez un fichier mib", Null, False)
    If fileToOpen <> False Then
        BrowseFile = fileToOpen
    End If
End Function

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed