永发信息网

在 Excel VBA 中定义类模块,要如何才能自定义 Open 方法...

答案:1  悬赏:0  手机版
解决时间 2021-02-27 15:23
  • 提问者网友:遁入空寂
  • 2021-02-27 06:03
在 Excel VBA 中定义类模块,要如何才能自定义 Open 方法...
最佳答案
  • 五星知识达人网友:走死在岁月里
  • 2021-02-27 06:36
能的,在 VB 中 Open 只能是关键字,
在调用时如果某一过程名不符合 VB 的要求,则需要在其两侧加方括号:
Dim MyCollection As New Collection
Dim NextEnum As Object
Set NextEnum = MyCollection.[_NewEnum]
照理说,与关键字可能发生冲突,也需要加方括号,
但我试了一下,实际不用。
可是,如果在声明一个不符合 VB 的要求的过程名称时,
加方括号却遇到了问题:
Public Sub [Open]() '编译错误
因此 VB 6.0(或是 VBA 6.0)是不支持声明不符合要求的过程名称的。
但在 VB.NET 中是可以的(虽然这么做不被推荐),例如:
Public Sub [Sub]()
Public Function [Property]() As Object
Dim [___] As Long
不过目前还没有见到 VB.NET 取代 VBA 的位置。
除过在 Office 2010 的 InfoPath 中的代码可以在 VB.NET 环境中编辑以外,
甚至 Office 2010 的 Word 还在用 VBA 6.0……

而至于人家 Workbooks,
因为人家用的不是 VB,而是 C,
因此没有这么严格的限制。

所以只能将就一下了……
起个 OpenWorkbook 或是 OpenSheet 之类的,
只要避开关键字就行……
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯