VBA复杂的Getter、Setter语法

标签 vba excel

嗨,我对 VBA 相当陌生,我需要创建一个具有相对复杂的 Getter 和 Setter 的对象。为此,我不断检查MSDN但显然我不明白一些东西,因为 VBE 不断突出显示开始和结束的行:Property(它显然需要 Get 或 Let?)、Get(它显然需要标识符)、Let(它显然也需要标识符)。

但我试图遵循更简洁的表示法,其中 Get 和 Let 方法位于 Microsoft 在其示例中使用的属性声明中(请参阅上面的链接)。

有人可以告诉我我的语法哪里错了吗(或者微软的文档)???

谢谢

Private Matrix() As Vector
Property Transition()
    Public Get(Old_S As String, New_S As String, Period As Integer) As Double
        ' Some Code
        Return Matrix(Column, Row).Value(Period)
    End Get
    Public Let(Old_S As String, New_S As String, Vector_String As String)
        ' Some Code
        Matrix(Row, Column).Value = Vector_String
    End Let
End Property

最佳答案

您正在阅读 VB.NET 的文档。这就是你感到困惑的原因。 VBA 中属性的语法不同。在 VBA 中,属性的 GetLet 不组合在一起。它们需要单独列出,本质上就像两个单独的方法:

Private mMyProperty As String

Public Property Get MyProperty() As String
    MyProperty = mMyProperty
End Property

Public Property Let Transition(Value As String)
    mMyProperty = Value
End Property

有关 VBA 引用资料,请尝试从 here 开始.

关于VBA复杂的Getter、Setter语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29257127/

相关文章:

excel - VBA Solver 禁用每次迭代后弹出的对话框

excel - 有没有办法在VBA中使用selenium,获取url,而不打开浏览器?

java - 使用 shiftRows 按列对 Excel 进行排序- Apache POI - XmlValueDisconnectedException

sql-server - SQL Server 存储过程导出到具有多个工作表的 Excel 工作簿

Excel宏在单元格中查找文本并在单元格上插入超链接

vba - 如何使用 vba 将多个图表从 Excel 导出到单个 pdf?

excel - 如何在 Excel VBA 中检查或取消多个待处理的 application.ontime 事件?

excel - Sub 之外的 Excel VBA 中的错误处理

vba - 如何获得不是联合的范围的一部分?

excel - Excel中的Power Query以从列中选择特定单元格