excel - 有没有办法在错误循环中捕获 vba 代码?
问题描述
我正在开发一个同时使用 Matlab 和 Excel 的程序。Excel 通过文本文件将其数据提供给 Matlab,然后,一旦 Matlab 完成分析,它会创建一个文本文件以供 Excel 读取。
在我对程序的设想中,我希望只有一个潜艇可以做所有事情。因此,我想暂停 sub 等待 Matlab 直到文件准备好。我的问题来了,因为在Matlab完成之前没有文件,试图打开文件会导致错误。
我尝试使用错误处理程序进行循环,但似乎 VBA 不允许这样做。
这是我的测试代码:
Sub Test()
Fichier = "'filepath'\file.txt"
IndexFichier = FreeFile()
1:
On Error GoTo expected
Open Fichier For Input As #IndexFichier
Close #IndexFichier
Exit Sub
expected:
Err.Clear
Close #IndexFichier 'Don't know if useful'
GoTo 1
End Sub
我希望代码在“1”和“预期”之间循环,但是在一个循环之后,vba 会自行中断,出现预期的错误“找不到文件”。有谁知道是否有可能循环错误还是我必须制作另一个子?
解决方案
您无需等待错误,这就是您要查找的内容:
Ruta = wb.Path & "\"
Exportar = Ruta & "datos" & Servicio & ".txt"
FindIt = Dir(Exportar)
While Len(FindIt) = 0
FindIt = Dir(Exportar)
Wend
推荐阅读
- .net - 如何在 .NET PowerShell 自动化中使用 Where-Object?
- python - 如何获得满足数据框中某些条件的值
- python - 计数观察出现行明智的熊猫的次数?
- python - 如何在运行时停止回调函数 - Dash
- c++ - sqlite,c ++,任务后断开连接?
- spring - Spring Boot oAuth2.0 authorization_request_not_found
- html - 有没有办法在 Djang 模板中同时使用“查询”和“forloop”?
- javascript - 为什么 css 设置会泄漏到其他组件中?
- c# - UseHsts 是否应该将标头应用于通过 UseStaticFiles 添加的静态文件
- reactjs - 使用 useState 更改数组中的对象