相关疑难解决方法(0)

在VBA中将参数传递给Constructor

如何构造将参数直接传递给自己的类的对象?

像这样的东西:

Dim this_employee as Employee
Set this_employee = new Employee(name:="Johnny", age:=69)
Run Code Online (Sandbox Code Playgroud)

无法做到这一点非常烦人,你最终会得到一些肮脏的解决方案来解决这个问题.

oop vba constructor factory class

75
推荐指数
3
解决办法
9万
查看次数

Excel VBA对象构造函数和析构函数

我需要在VBA中制作一些需要互相引用的自定义对象,我有一些问题.

首先 - 对象构造函数如何在VBA中工作?有施工人员吗?

第二 - 有破坏者吗?VBA如何处理对象生命周期的结束?如果我有一个引用其他对象的对象(这是他们唯一的引用),那么我可以将它设置为Nothing并用它完成或者是否会产生内存泄漏?

这种准OO的东西只是有点刺激.

vba constructor destructor memory-leaks object

26
推荐指数
4
解决办法
4万
查看次数

VBA继承,超级模拟

例如,我有一个实现B类的A类

--- A级----

implements B
public sub B_do()
end sub
Run Code Online (Sandbox Code Playgroud)

- 班B ----

public sub do()
end sub
Run Code Online (Sandbox Code Playgroud)

如何从A调用do()?(super.do())那么,我如何为这两个类定义一些公共变量?现在我只能继承函数,子和属性......

补充:同一个问题http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/5a83d794-3da1-466a-83d3-5d2eb0a054b2

补充说:不可能跨类别分享变量.您应该实现属性(与函数相同).

excel inheritance vba excel-vba

16
推荐指数
2
解决办法
3万
查看次数

为什么有些班级的名字前面带有“ I”?

我正在使用Visual Basic 98中的一些旧代码,并且有几个类的名称前面带有“ I”。但是,大多数类都没有此名称。

这是IXMLSerializable.cls文件的内容。

' Serialization XML:
'       Create and receive complete split data through XML node
Public Property Let SerializationXML(ByVal p_sXML As String)
End Property
Public Property Get SerializationXML() As String
End Property

Public Property Get SerializationXMLElement() As IXMLDOMElement
End Property
Run Code Online (Sandbox Code Playgroud)

vba

5
推荐指数
1
解决办法
123
查看次数

消息框中的VBA显示集合 - 错误

我试图弹出一个类似的消息,

"There are 3 Reports available . They are Today, Yesterday, Day before"
Run Code Online (Sandbox Code Playgroud)

这是代码,

  On Error Resume Next
  For Each a In MonthYear
     arr.Add a, a
  Next

  For i = 1 To arr.Count
     Cells(i, 1) = arr(i)
  Next


MsgBox ("There are " & arr.Count & " Reports available. They are  " & arr &
Run Code Online (Sandbox Code Playgroud)

但它没有用.它说没有找到sub或argument.

excel vba excel-vba

1
推荐指数
1
解决办法
1719
查看次数

有一个Sub除了调用其他Subs之外什么都没有?

我之前在Code Review中发布了这个,我想这不是正确的地方.希望这是.

我已经为Excel工作表订单表单的各种操作创建了几十个Subs.每天都有数百个这样做,必须检查很多东西.

例程是当有人打开其中一个工作表时,他们做的第一件事就是运行一个调用其他几个工作表的宏.所以它基本上是这样的:

Sub AllMacros()
Call Macro1
Call Macro2
Call Macro3
Call Macro4
Call Macro5
Call Macro6
Call Macro7
Call Macro8
Call Macro9
Call Macro10
Call Macro11
Call Macro12
Call Macro13
Call Macro14
Call Macro15
Call Macro16
Call Macro17
Call Macro18
Call Macro19
Call Macro20
End Sub
Run Code Online (Sandbox Code Playgroud)

我这样做是因为有时只需要运行其中一个Subs,因此它们将被单独执行.

我的主要问题是:这种技术本身不是一个好主意吗?我知道我没有显示所有代码,但这不是重点.在这里发布的代码太多了.我想我正在寻找共识的答案是"是的,没关系." 或者"不,这样做会更好."

excel vba excel-vba

0
推荐指数
1
解决办法
139
查看次数