如何将列表框链接到一个文件夹,并在文件夹发生变化时自动更新。

问题描述 投票:0回答:1

我正试图连接我的 listbox 到一个文件夹,如果用户上传excel文件到该文件夹,列表框将自动更新。listbox. 任何想法,我怎么能开始这个?

ms-access access-vba
1个回答
0
投票

虽然这可以通过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分钟)。

请注意。

© www.soinside.com 2019 - 2024. All rights reserved.