Access, listar el contenido de una carpeta + clickeable
Resuelto
Brandysve
Mensajes publicados
59
Estado
Miembro
-
Brandysve Mensajes publicados 59 Estado Miembro -
Brandysve Mensajes publicados 59 Estado Miembro -
Hola CCM,
Voilà, j'ai un formulaire Access où je souhaiterais y insérer une zone (rectangle, liste déroulante, peu importe..) qui afficherait en temps réel tous les fichiers Excel se trouvant dans un dossier. De plus, si une personne double clique sur le nom d'un de ses fichiers, il devra s'ouvrir.
Avez-vous une idée?
Brandysve
Voilà, j'ai un formulaire Access où je souhaiterais y insérer une zone (rectangle, liste déroulante, peu importe..) qui afficherait en temps réel tous les fichiers Excel se trouvant dans un dossier. De plus, si une personne double clique sur le nom d'un de ses fichiers, il devra s'ouvrir.
Avez-vous une idée?
Brandysve
3 respuestas
-
Hola,
Mira este código (para adaptar) :
Private Sub Form_Current()
Dim strDossier As String
Dim strFichier As String
strDossier = "D:\Modèle\2 et 3\"
' Verificar que la carpeta exista realmente
If Dir(strDossier, vbDirectory) = "" Then
MsgBox "¡Carpeta no encontrada!", vbExclamation
Exit Sub
End If
' Enumerar todos los archivos de la carpeta
strFichier = Dir(strDossier, vbNormal)
While strFichier <> ""
' Mostrar el nombre del archivo
Me.ModeleG.AddItem strFichier 'me.ModeleG es una lista desplegable
' Leer el siguiente archivo
strFichier = Dir
Wend
End Sub
Ya puedes listar todos los archivos de una carpeta (no solo de Excel)
Si puede ayudarte,
--
El geek no desciende del metro, él libera el vagón. -
Gracias eljojo_e, casi he resuelto mi problema.
Esto es lo que encontré vía ayuda de Access
Private Sub ListBox2_Click()
MsgBox ListBox2.Value
End Sub
Private Sub Form_Open(Cancel As Integer)
Me.ListBox2.RowSourceType = "Liste valeurs"
Me.ListBox2.RowSource = ShowFolderList("C:\Users\***\Desktop\En attente")
End Sub
Function ShowFolderList(folderspec) As String
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.Files
For Each f1 In fc
s = s & f1.Name
s = s & ";"
Next
ShowFolderList = s
End Function
Pero ahora me gustaría que cuando haga doble clic en el nombre de un archivo, se abra.-
Con mi código que alimenta una lista desplegable, pones un código en el evento after_update, que abre el archivo con el nombre que has seleccionado:
Private Sub xxxx_afterupdate()
Dim xls As Excel.Application
On Error GoTo errHnd
Set xls = CreateObject("Excel.Application")
xls.Workbooks.Open "D:\tartanpion\" & me.Listedéroulante.value ' y si no hay la extensión, añade ".xls"
xls.Visible = True
Exit Sub
errHnd:
MsgBox "Erreur N° " & Err.Number & vbLf & Err.Description, , Err.Source
End Sub
-
-
Muchas gracias eljojo_e, está perfecto o/
Hasta pronto