Tag: 类的

Excel VBA枚举types定义:成员定义更改大小写

我会尽我所能来正确地说出这个问题。 VBA IDE具有此function,它将把variables名称中的字符大小写更改为最后inputvariables名称的情况。 例如,让我们说我开始在SUB中的以下行: VAR1 = 1 现在,让我们说我input以下行: var1 = 2 整个子现在变成: var1 = 1 var1 = 2 我知道我可以通过使用Dim语句或任何范围声明声明variables来阻止这种情况的发生。 问题:我在类模块中使用Enum。 而且该类的公共属性之一与Enum相关联。 我已经在成员名称中使用某些字符来使其可读(骆驼大小写)。 现在,当用户在其标准代码模块中设置该属性时,如果将它们全部以小写formsinput,则类模块中的Enum定义随之一起更改。 有没有办法阻止这种情况的发生?

无法调用自定义类对象Excel VBA的方法

我正在编写一些调度自动化的代码。 我对VBA编程相对比较陌生,但是多年来一直在使用其他语言进行编程。 对于我的项目,我创build了一个名为OpsFloor的类,它应该模拟操作层。 我parsing用户信息到一个数组,并试图传递数组(我已经尝试传递整个数组和单个值)到一个OpsFloor对象的实例。 我担心我对VBA中的类如何工作有一些基本的误解。 以下是class级内的小class Public Sub SetProcessMatrixValue(x As Integer, y As Integer, value As Integer) ProcessMatrix(x, y) = value End Sub 以下是Excel中工作表对象子的调用: Option Explicit Private OperationMatrix(18, 8) As Integer Private dailyWF As New OpsFloor Public Sub StartingWorksheet() … dailyWF.SetProcessMatrixValue 0, 0, 30 End Sub 当我尝试运行子通过SetProcessMatrixValue方法将这些值分配给类实例时,我得到运行时错误'438'对象不支持此属性或方法。

尝试从另一个模块使用类方法时,VBA错误424

我在excel 2013的类模块中有一个名为autoCRUD的类。从另一个模块(一个普通的模块)我尝试从这个类中调用一个方法,并得到“Object required”exception。 这里的方法是: Public Function CreateCRUDView(TipoCRUD As String) 'TipoCRUD pode ser C (Create), R (Read), U (Update), D (Delete) Dim myForm As Object Dim NewFrame As MSForms.Frame Dim NewButton As MSForms.CommandButton Dim NewListBox As MSForms.ListBox Dim NewLabel As MSForms.Label Dim X As Integer Dim Line As Integer Dim t As Integer Dim arrLeg() As […]

不能使用数组成员variables来分配数组

我有一个类的成员variables之一是一个数组。 我想分配一个数组的对象,但不断收到'不能分配数组'编译错误。 另外我很好奇如何获得对象中的数组的UBound。 UBound(obj.array)不能编译。 我正在使用excel 07 vba。 'Test routine that keeps failing Sub test() Dim Arr(2) As String Arr(0) = "" Arr(1) = "Pizza" Arr(2) = "Hoes" Dim obj As Cats Set obj = New Cats obj.avry = Arr obj.field = 4 MsgBox UBound(obj.ary) End Sub 'Class declaration Private pary() As String Private pfield As […]

VBAinheritance通过build设,构造不工作?

我刚刚开始在VBA中使用类,我正在按照这里所述的“通过构造inheritance”方法。 我的例子使用了一个简单的类,它包含一个值(作为变体)和一个值types(作为一个string)。 我创build了一个子类,其中值types被设置为构造函数中的string。 这是我的代码: 接口类(IVal) 'IVal interface class (from https://www.theartofquantfinance.com/inheritance-by-construction-in-vba/) Option Explicit '———————————– 'Accessor methods for ValType '———————————– Public Property Get ValType() As String End Property Public Property Let ValType(ByVal RHS As String) End Property '———————————– 'Accessor methods for Val '———————————– Public Property Get Val() As Variant End Property Public Property Let Val(ByVal RHS As […]