2013-04-19 29 views
3

我想在第一次在VBA中創建一個類。我已經看過了一些解決方案,我看不出什麼毛病我的課,但是當我運行測試代碼,整數正確返回,但字符串返回空:返回空字符串的VBA類屬性

Property Let Name(strName As String) 
    pName = strName 
End Property 
Property Get Name() As String 
    Name = pName 
End Property 
Property Let Class(strClass As String) 
    pClass = strClass 
End Property 
Property Get Class() As String 
    Class = pClass 
End Property 
Property Let Aggro(intAggro As Integer) 
    pAggro = intAggro 
End Property 
Property Get Aggro() As Integer 
    Aggro = pAggro 
End Property 

測試程序

Sub ClassTest() 
    Dim Dog1 As New Critter 

    Dog1.Name = "Labrador" 
    Dog1.Class = "Canine" 
    Dog1.Aggro = 0  

    Debug.Print Dog1.Name 'returns "" 
    Debug.Print Dog1.Class 'returns "" 
    Debug.Print Dog1.Aggro 'returns 0 
End Sub 

回答

4

你唯一錯的是你沒有定義私有變量來保存你的屬性值。它出現在整數工作,因爲整數初始化爲0,而你的「設置」值設爲0就在這個添加到您的類的頂部,然後再試一次:

Private pName as String 
Private pClass as String 
Private pAggro as Integer 

:d

+0

OMG笑那工作ty! – Marie

+0

+ 1不錯:) –