【发布时间】:2018-02-09 20:31:37
【问题描述】:
我正在尝试使用以下代码通过按钮宏打开文件夹中的最新文件。
使用 if 语句测试,我没有发现任何问题。但是一旦我使用 do while,我会收到运行时 6 的错误消息,溢出。
len(dir()) 不能用于循环吗?
下面是我的代码。
Private Sub Command4_Click()
Dim ~~~~ As Object
Set ~~~~ = CreateObject("Excel.Application")
Dim path As String
Dim name As String
Dim count As Long
Dim number As Long
path = "C:\Users\~~~~~\Desktop\~~~~~~~~~~~~\"
number = Len(Dir(path & "~~~~~~~ - " & Format(Now() - count, "MMMM dd, yyyy") & ".xlsm"))
Do While number = 0
count = count + 1
Loop
~~~~~.workbooks.Open path & "~~~~~~~ - " & Format(Now() - count, "MMMM dd, yyyy") & ".xlsm"
End Sub
由于保密原因,~ 行只是占位符。
非常感谢。
【问题讨论】:
-
我建议添加对 Microsoft 脚本运行时(工具、参考...)的引用,并使用 FileSystemObject 查找您要查找的文件。请注意,您的代码使用 Excel,但标签是 MS Access。除非你真的需要,否则我不会使用 Excel 自动化。您可以使用 Shell 方法来启动 xls 文件。