為CTable類添加一個Create方法,代碼就變成下面這個樣子了
CTable 類模塊:
1 Option Explicit 2 3 '==================================== 4 '名稱: CTable 5 '功能: 描述一個Excel表格區域 6 '==================================== 7 8 9 '類的屬性 10 Public strName As String ' 表名 11 Public strAddress As String ' 地址 12 Public rngStart As Range ' 開始單元格 13 Public rngEnd As Range ' 結束單元格 14 Public iColumns As String ' 列數 15 16 '類的方法 17 ' 18 '==================================== 19 '名稱: Create 20 '功能: 把CTable的對象實現出來 21 '參數:strName:表名 22 ' strWhere:表要創建的位置 23 ' astrWhat:列名數組 24 '返回值:無 25 '==================================== 26 Public Function Create(strName As String, strWhere As String, astrWhat As Variant) 27 Dim i, col 28 If Not IsArray(astrWhat) Then Exit Function 29 strName = strName 30 strAddress = strWhere 31 Set rngStart = Range(strWhere) 32 rngStart.Value = strName 33 34 For Each col In astrWhat 35 rngStart.Offset(1, i).Value = col 36 i = i + 1 37 Next 38 Set rngEnd = rngStart.Offset(1, i - 1) 39 rngStart.Offset(0, 1).Value = rngEnd.Address 40 41 iColumns = i 42 rngStart.Offset(0, 2).Value = iColumns 43 End Function
Create 就是類的一個方法。
Data普通模塊:
1 Sub 創建學生表2() 2 Dim clsStudentTable As New CTable ' 聲明並創建一個對象 3 Dim astrColumnNames As Variant 4 5 astrColumnNames = Array("id", "Name", "Gender", "StuID", "Class") 6 clsStudentTable.Create "學生表", "Sheet2!$A$1", astrColumnNames '類方法的使用: 對象名.方法名 7 End Sub