ouvrir un fichier dans un repertoire

ouvrir un fichier dans un repertoire - VB/VBA/VBS - Programmation

Marsh Posté le 07-06-2006 à 09:34:33    

Bonjour:Voilà, je suis sous VBA access et j'aimerai savoir si on peut ouvrir un fichier quand on tape le nom du repertoire ou il est situé.J'ai essayé ce code:
 
Private Sub CmdDocPers_Click()
       
      Dim WshShell As String
      Dim WSHFso As String
      Dim WshNetwork As String
      Dim WshSysEnv As String
      Dim userprof As String
       
      Set CmdDocPers = WScript.CreateObject("WScript.Shell" )
      Set CmdDocPers = WScript.CreateObject("Scripting.FileSystemObject" )
      Set CmdDocPers = WScript.CreateObject("WScript.Network" )
      Set objFSO = CreateObject("Scripting.filesystemobject" )
      Set WshSysEnv = WshShell.Environment("Process" )
   
      'USERPROF EST LE CHEMIN D'ACCÈS AU REPERTOIRE DE L'UTILISATEUR
      userprof = WshSysEnv("userprofile" )
      profil = Mid(userprof, 27) 'j'enleve c:\Doc... pour avoir le login utilisé
      chemin = "C:\Documents and Settings" 'le chemin du fichier bks de ma sauvegarde'
       
      If WSHFso.FileExists(chemin) Then
        Set ouvrir = WSHFso.opentextfile(chemin, 1, , -1)
        ligne1 = ouvrir.readline
        ligne2 = ouvrir.readline   'le chemin complet se trouve a la deuxieme ligne (pour moi)
      Else
         MsgBox "Le fichier" + " " + chemin + " " + " n'existe pas", , "Erreur"
      End If
       
      If ligne2 = userprof Then
         MsgBox "Votre sauvegarde s'effectue normalement !!!" & vbCrLf & "Votre login est" + " " + profil & vbCrLf & "Votre répertoire personnel est" + " " + userprof, vbInformation, "Sauvegarde correcte"
      Else
         MsgBox "Votre sauvegarde semble ne pas se faire sur le bon répertoire !!!" & vbCrLf & "Veuillez prévenir votre administrateur réseau", vbCritical, "Problème de sauvegarde"
      End If
End Sub
   
Mais ça ne marche pas.Le compilateur m'indique:Qualificateur incorrect-erreur de compilation


Message édité par Hisoka76 le 07-06-2006 à 09:36:24
Reply

Marsh Posté le 07-06-2006 à 09:34:33   

Reply

Marsh Posté le 10-06-2006 à 18:59:37    

De memoire, j'ai pas l'aide vba sous la main:
 
Dim Fso,Fs
Dim NomFichier as string
 
    Set Fso= CreateObject("Scripting.FileSystemObject" )  
     
    If fso.filesExist(NomFichier)=true then
         Set Fs= fso.Open(NomFichier )
    else
         Msgbox "Le fichier " & NomFichier & "n'existe pas."
    end if
 
Pour plus de précision référence toi sur l'élement FileSystemObject.
 
 ;)


Message édité par thefreretock le 10-06-2006 à 19:03:33
Reply

Marsh Posté le 12-06-2006 à 09:51:46    

:) Merci pour cette piste!!

Reply

Marsh Posté le 12-06-2006 à 10:32:33    

Hisoka76 a écrit :

:) Merci pour cette piste!!


 
Voilà j'ai trouvé un code correct qui est ci dessous:
 

Code :
  1. Private Sub CmdDocPers_Click()
  2. Dim iNum As Integer
  3. Dim fso As FileSystemObject
  4. Dim fs As Folder
  5. Dim f As File
  6. iNum = 0
  7. Set fso = New FileSystemObject 'création de l'objet FileSystemObject
  8. Set fs = fso.GetFolder("C:\Documents and Settings\" ) 'obtention de l'objet Folder (le répertoire)
  9. For Each f In fs.Files 'itération sur tous les fichiers du répertoire
  10.      iNum = iNum + 1
  11. Next
  12. Set f = Nothing
  13. Set fs = Nothing
  14. Set fso = Nothing
  15.     End Sub


 
Voilà il ne m'affiche pas d'erreur mais rien ne se passe,sais tu pourquoi?

Reply

Marsh Posté le 14-06-2006 à 09:43:30    

Oui moi je sais...parce-que tu n'as mis à aucun moment qu'il fallait que ça affiche quelquechose!!!
 
Private Sub CmdDocPers_Click()
Dim iNum As Integer
Dim fso As FileSystemObject
Dim fs As Folder
Dim f As File
 
Set fso = New FileSystemObject 'création de l'objet FileSystemObject
Set fs = fso.GetFolder("C:\Documents and Settings\" )
FileName = Dir("C:\Documents and Settings\*.*" )
For i = 0 To fs.Files.Count + 1
    MsgBox FileName
    i = i + 1
    Set oFichierLog = fso.Open(FileName, ForAppending, True)
    FileName = Dir  'pour que ça t'affiche ts les fichiers essaye sans cett ligne et regarde le résultat pour mieux comprendre
Next i
 
Set f = Nothing
Set fs = Nothing
Set fso = Nothing
End Sub  
 
Voilà teste ça, normalement ça marche!
Bon courage.
@+

Reply

Marsh Posté le 14-06-2006 à 10:40:00    

acorsa a écrit :

Oui moi je sais...parce-que tu n'as mis à aucun moment qu'il fallait que ça affiche quelquechose!!!
 
Private Sub CmdDocPers_Click()
Dim iNum As Integer
Dim fso As FileSystemObject
Dim fs As Folder
Dim f As File
 
Set fso = New FileSystemObject 'création de l'objet FileSystemObject
Set fs = fso.GetFolder("C:\Documents and Settings\" )
FileName = Dir("C:\Documents and Settings\*.*" )
For i = 0 To fs.Files.Count + 1
    MsgBox FileName
    i = i + 1
    Set oFichierLog = fso.Open(FileName, ForAppending, True)
    FileName = Dir  'pour que ça t'affiche ts les fichiers essaye sans cett ligne et regarde le résultat pour mieux comprendre
Next i
 
Set f = Nothing
Set fs = Nothing
Set fso = Nothing
End Sub  
 
Voilà teste ça, normalement ça marche!
Bon courage.
@+


 
Merci, mais j'ai trouvé une autre solution qui est le lien hypertexte dans une zone de liste déroulante!

Reply

Sujets relatifs:

Leave a Replay

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