我正在尝试将listbox
链接到一个文件夹,如果用户将excel文件上传到该文件夹,列表框将自动更新listbox
。关于如何开始的任何想法?
尽管可以使用VBA进行此操作,但是通常允许用户浏览文件夹(通常经过过滤以仅显示某种类型的文件)。如果确实要这样做,则需要创建一个小的VBA函数,该函数将循环所讨论的文件夹并创建文件名字符串:
Public Function fListFiles(strFolder As String) As String
On Error GoTo E_Handle
Dim strFile As String
strFile = Dir(strFolder, vbNormal)
Do
If InStr(strFile, ".xl") > 0 Then
fListFiles = fListFiles & strFile & ";"
End If
strFile = Dir
Loop Until strFile = ""
If Right(fListFiles, 1) = ";" Then fListFiles = Left(fListFiles, Len(fListFiles) - 1)
fExit:
On Error Resume Next
Exit Function
E_Handle:
MsgBox Err.Description & vbCrLf & vbCrLf & "fListFiles", vbOKOnly + vbCritical, "Error: " & Err.Number
Resume fExit
End Function
然后,在您的表单中,将列表框的RowSource
设置为“值列表”,将以下代码放入表单的Timer
事件中:
Private Sub Form_Timer()
Me!lstFile.RowSource = fListFiles("J:\downloads\")
End Sub
最后,将表单的计时器间隔从0(60,000为1分钟)。
问候,