RSS订阅优然探索
你的位置:首页 » 未分类 » 正文

自动生成powerdesigner数据

选择字号: 超大 标准 发布时间:2015-7-23 15:50:59 | 作者:admin | 0个评论 | 人浏览

 

Option Explicit  
Dim mdl ' the current model
Set mdl = ActiveModel
If (mdl Is Nothing) Then  
  MsgBox "There is no Active Model"
End If
 
Dim HaveExcel
Dim RQ 
RQ = vbYes 'MsgBox("Is Excel Installed on your machine ?", vbYesNo + vbInformation, "Confirmation")
If RQ = vbYes Then 
   HaveExcel = True 
' Open & Create Excel Document
 Dim x1 ' 
  Set x1 = CreateObject("Excel.Application")
  x1.Workbooks.Open "E:/xls/database.xlsx"
  x1.Workbooks(1).Worksheets("Sheet1").Activate
Else
   HaveExcel = False
End If
 
a x1, mdl
 
sub a(x1,mdl)
dim rwIndex
dim tableName
dim colname
dim table
dim col
dim count

dim rw1
rw1 = x1.Workbooks(1).Worksheets("Sheet1").UsedRange.Rows
 
'on error Resume Next
For rwIndex = 1 To 16 step 1  
    With x1.Workbooks(1).Worksheets("Sheet1")
  'MsgBox "生成数据表结构共计1 ="+CStr(.Cells(2,2).Value ), vbOK + vbInformation, "表"
   If .Cells(rwIndex, 1).Value = "" Then
       Exit For
   End If 
  If .Cells(rwIndex, 3).Value = "" Then
    set table = mdl.Tables.CreateNew
        table.Name = .Cells(rwIndex , 1).Value
        table.Code = .Cells(rwIndex , 2).Value
        count = count + 1 
   Else  
    colName = .Cells(rwIndex, 1).Value
    set col = table.Columns.CreateNew 
   'MsgBox .Cells(rwIndex, 1).Value, vbOK + vbInformation, "列"
    col.Name = .Cells(rwIndex, 1).Value
    'MsgBox col.Name, vbOK + vbInformation, "列"
     col.Code = .Cells(rwIndex, 2).Value
    col.Comment = .Cells(rwIndex,1).Value 
    col.DataType = .Cells(rwIndex, 3).Value
   End If
  End With
Next
 
MsgBox "生成数据表结构共计" + CStr(count), vbOK + vbInformation, "表"
 
Exit Sub
End sub

标签:

猜你喜欢

发表评论

必填

选填

选填

必填,不填不让过哦,嘻嘻。

记住我,下次回复时不用重新输入个人信息

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。