PowerDesigner 把Comment写到name中 对已经有写过的有中文不在处理

Option   Explicit   
ValidationMode   =   True   
InteractiveMode   =   im_Batch   
 
Dim   mdl   '   the   current   model   
 
'   get   the   current   active   model   
Set   mdl   =   ActiveModel   
If   (mdl   Is   Nothing)   Then   
      MsgBox   "There   is   no   current   Model "   
ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
      MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
Else   
      ProcessFolder   mdl   
End   If   
 
Function CreateRegExp(pattern)
  dim result:set result=CreateObject("VBscript.RegExp")
  result.Global=true
  result.IgnoreCase=true
  result.Pattern=pattern
  result.MultiLine=true
 
  set CreateRegExp=result
End Function



Function IsRightText(text)

    if (Len(text)=0) then

           IsRightText=false

           exit function

    end if

    dim regex:set regex= CreateRegExp("^[a-zA-Z0-9_]+$")

    dim result:result=regex.Test(text)

    set regex=nothing

    IsRightText=result

End Function
 
Private   sub   ProcessFolder(folder)   
On Error Resume Next  
      Dim   Tab   'running     table   
      for   each   Tab   in   folder.tables   
            if   not   tab.isShortcut   then   
                  if IsRightText(tab.name) then
                     tab.name   =   mid(tab.comment,1,10) + tab.Code
                  end if  
                  Dim   col   '   running   column   
                  for   each   col   in   tab.columns   
                  if col.comment="" then  
                  else 
                        if IsRightText(col.name) then
                           col.name = mid(col.comment,1,8)
                        end if   
                  end if 
                  next   
            end   if   
      next   
 
      Dim   view   'running   view   
      for   each   view   in   folder.Views   
            if   not   view.isShortcut   then   
                  view.name   =   view.comment   
            end   if   
      next   
 
      '   go   into   the   sub-packages   
      Dim   f   '   running   folder   
      For   Each   f   In   folder.Packages   
            if   not   f.IsShortcut   then   
                  ProcessFolder   f   
            end   if   
      Next   
end   sub

猜你喜欢

转载自wddpwzzhao123.iteye.com/blog/2255954