如何将列表框链接到文件夹,该文件夹会根据文件夹中的更改自动更新

问题描述 投票: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.