⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 excelreports.bas

📁 c#设计模式WithCla
💻 BAS
字号:
Attribute VB_Name = "ExcelReports"
Option Explicit
Option Base 1      'All array indexes start with 1
'(c) 1993-1998 MicroGold Software, Inc.
'Set Tools-Options-Editor All Boxes Checked
'Set Tools-Options-General Break On All Errors

Sub ExcelCreateClassReport()

 On Error GoTo ErrorHandler
        
    Dim ClassTitleCell As Object
    Dim ClassDescriptionCell As Object
        
' ************** With Class Variables ***************
        
    Dim wcDocument As Object
    Dim h As Integer
    Dim I As Integer
    Dim j As Integer
    Dim k As Integer
    Dim l As Integer
    Dim iFileID As Integer
    Dim m As Integer
    Dim iParameterCount As Integer
    Dim iCounter As Integer
    Dim iAttrCounter As Integer
    Dim iOperCounter As Integer
    Dim iRelCounter As Integer
    Dim iIncludeCounter As Integer
    
    Dim currentAttribute As Object
    Dim currentOperation As Object
    Dim currentClass As Object
    Dim CurrentRelation As Object
    Dim currentBaseClass As Object
    Dim CurrentAggregationClass As Object
    Dim CurrentAssociationClass As Object
    
    Dim AttributeList As Object
    Dim OperationList As Object
    Dim ClassList As Object
    Dim RelationList As Object
    Dim BaseClassList As Object
    Dim AggregationClassList As Object
    Dim AssociationClassList As Object
 
    Dim sFileName As String
    Dim sInfile As String
    Dim sCellNum As String
    Dim iRowCount As Integer
    Dim iColCount As Integer
    Dim sMsg As String
        
        
' *************** Excel Variables ****************
Dim ThisExcel As Object
Dim TitleArray As Variant
Dim DataArray As Variant
' ****************************************

    iFileID = FreeFile
    iRowCount = 2
    
Set wcDocument = ActiveDocument

TitleArray = Array("Name", "Description", "Package", "Stereotype", "Visibility", "ImportFile", "LibraryBaseClass")
Set ThisExcel = CreateObject("Excel.Application")
With ThisExcel
    .Workbooks.Add
    .Range("A1:G1").Value = TitleArray
    .Range("A1:G1").Font.Bold = True
    .Range("A1").ColumnWidth = 20
    .Range("B1").ColumnWidth = 50
    .Range("C1").ColumnWidth = 20
    .Range("D1").ColumnWidth = 15
    .Range("E1").ColumnWidth = 15
    .Range("F1").ColumnWidth = 15
    .Range("G1").ColumnWidth = 15
    .Range("H1").ColumnWidth = 15
    .Range("I1").ColumnWidth = 15
    .Range("J1").ColumnWidth = 15
    .Visible = True
    
    Set ClassList = wcDocument.Classes
    iCounter = ClassList.Count
    ClassList.Restart
    While (ClassList.IsLast = False)
        iColCount = 1
        Set currentClass = ClassList.GetNext
        
        iColCount = iColCount + 1
        sCellNum = GetCellString(iRowCount, iColCount)
        .Range(sCellNum).Value = currentClass.Name
        
        iColCount = iColCount + 1
        sCellNum = GetCellString(iRowCount, iColCount)
        .Range(sCellNum).Value = currentClass.Description
        
        iColCount = iColCount + 1
        sCellNum = GetCellString(iRowCount, iColCount)
        .Range(sCellNum).Value = currentClass.Package
        
        iColCount = iColCount + 1
        sCellNum = GetCellString(iRowCount, iColCount)
        .Range(sCellNum).Value = currentClass.Stereotype
        
        iColCount = iColCount + 1
        sCellNum = GetCellString(iRowCount, iColCount)
        .Range(sCellNum).Value = currentClass.Visibility
       
        iColCount = iColCount + 1
        sCellNum = GetCellString(iRowCount, iColCount)
        .Range(sCellNum).Value = currentClass.ImportFileName
   
        iColCount = iColCount + 1
        sCellNum = GetCellString(iRowCount, iColCount)
        .Range(sCellNum).Value = currentClass.LibraryBaseClass
   
        iRowCount = iRowCount + 1
    Wend
     
End With
        
MsgBox ("Finished Creating Excel Spreadsheet")
Exit Sub

ErrorHandler:
   sMsg = "Error # " & Str(Err.Number) & " was generated by " & Err.Source & Chr(13) & Err.Description
   MsgBox sMsg, , "Error", Err.HelpFile, Err.HelpContext
End Sub

Function GetCellString(row As Integer, col As Integer) As String
  On Error GoTo ErrorHandler
  
    Dim sCellNum As String
    Dim sChar1 As String
    Dim sChar2 As String
    Dim vAscrows As Variant
    Dim sMsg As String
    vAscrows = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BB", "CC", "DD", "EE", "FF")
    sChar1 = vAscrows(col - 1)
    sChar2 = CStr(row)
    sCellNum = sChar1 & sChar2
    GetCellString = sCellNum
Exit Function

ErrorHandler:
   sMsg = "Error # " & Str(Err.Number) & " was generated by " & Err.Source & Chr(13) & Err.Description
   MsgBox sMsg, , "Error", Err.HelpFile, Err.HelpContext
 
End Function

            
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -