USING语句的VBA是什么?



在csharp或vb.net中,我们使用using语句的原因是我们知道的:一个人可以自动打开和关闭数据库,而不需要显式地写它。我想在VBA

中做同样的事情
  1. 怎么做?
  2. 都是VB。. NET语句/keywords/在VBA中可用?
  3. 如何告诉如果一个给定的语句是(是)已知的VBA ?是否有所有VBA语句/关键字/操作符的库(术语表)?
c#

  using(var db=new MyDbContext()){
   //do work here
  }
vb.net

    Using s = New MyDbContext()
     '--..do work here
    End Using

回答你的第一个问题,正如你所暗示的,Using只是在实现IDisposable接口的对象实例上调用Dispose()的语法糖。

等于

Dim s as MyDbContext
Try
   s = New MyDbContext()
   // ...
Finally
   s.Dispose()
End Try

由于VBA不支持Using糖,并且在缺乏结构化Try..Catch异常处理的情况下,您需要在控制对象生命周期的所有路径上显式调用Dispose()(在您的示例中为MyDbContext)。在这种情况下,您还不如直接使用.Close()

没有与Using语句等价的VBA。

VBA开发人员文档提供了VBA文档的示例甚至可下载的离线版本。

最新更新