提问人:Bellash 提问时间:6/2/2014 最后编辑:Erik ABellash 更新时间:7/13/2020 访问量:2614
什么是 USING 语句的 VBA
what is the VBA for the USING statement
问:
在 csharp 或 vb.net 中,我们出于我们知道的原因使用该语句:可以打开数据库并自动关闭它,而无需显式编写它。
我想做同样的事情using
VBA
- 怎么做?
- 所有 VB.NET 语句/关键字/在VBA中都可用吗?
- 如何判断给定的语句在VBA中是否已知?是否有所有VBA语句/关键字/运算符的库(glosary)?
c#
using(var db=new MyDbContext()){
//do work here
}
vb.net
Using s = New MyDbContext()
'--..do work here
End Using
答:
1赞
aphoria
6/2/2014
#1
没有与该语句等效的 VBA。Using
VBA 开发人员文档提供了 VBA 文档的示例,甚至是可下载的脱机版本。
2赞
StuartLC
6/2/2014
#2
正如你所暗示的,只回答你的第一个问题只是调用实现接口的对象实例的语法糖。Using
Dispose()
IDisposable
它相当于
Dim s as MyDbContext
Try
s = New MyDbContext()
// ...
Finally
s.Dispose()
End Try
由于不支持 sugar,并且在没有结构化异常处理的情况下,您需要显式调用控制对象生命周期的所有路径(在您的情况下)。在这种情况下,您可能只是使用VBA
Using
Try..Catch
Dispose()
MyDbContext
.Close()
评论
0赞
StuartLC
6/2/2014
由于通常只会调用大部分 Db 资源,因此实际上没有在 和 之间进行选择Dispose()
Close()
Close()
Dispose()
0赞
HarveyFrench
6/23/2015
您可以在 VBA 中模拟 TRY CATCH 块,请参阅此处 stackoverflow.com/q/30991653/4413676
评论