PowerDesigner导入Excel/CSV

转自:http://blog.csdn.net/hjay0715/article/details/49404939

这里写图片描述

在:Tool -> Execute Commands -> Edit/Run Script 中执行下面的脚本

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 "C:/Users/Chenth/Desktop/tmpdir/mytable.csv" 
  x1.Workbooks(1).Worksheets("mytable").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 

'on error Resume Next 
For rwIndex = 1 To 120 step 1   
    With x1.Workbooks(1).Worksheets("mytable")
  '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
相关文章
相关标签/搜索