zoukankan      html  css  js  c++  java
  • PDM/CDM中进行搜索

    Option   Explicit

    ValidationMode   =   True

    InteractiveMode =   im_Batch

    Dim   mdl   '当前model

    '获取当前活动model

    Set   mdl   =   ActiveModel

    dim isCdm

    isCdm=0

    If   (mdl   Is   Nothing)   Then

             MsgBox   "There   is   no   current   Model "

    ElseIf   mdl.IsKindOf(PdCDM.cls_Model)  or mdl.IsKindOf(PdPDM.cls_Model)   Then

                If   mdl.IsKindOf(PdCDM.cls_Model) Then

                         isCdm=1

                end if        

                If   mdl.IsKindOf(PdPDM.cls_Model)  Then

                         isCdm=0

                end if

                dim search

                search= inputbox("输入要在PDM/CDM查找的字符,如要进行模糊查找,以%开始")

                search=lcase(search)

                ProcessFolder   mdl,isCdm

                         

    Else

             MsgBox "文件类型不支持"

    End   If

    Private   sub   ProcessFolder(folder,isCdm)

    dim tab

    dim col

             dim collect        

             if isCdm=0 then

             set collect=folder.tables

             else

             set collect=folder.Entities

             end if

            

             for   each   tab   in  collect

                if   not   tab.isShortcut   then         

                            if  lcase(tab.code)=search or (mid(search,1,1)="%" and instr(lcase(tab.code),mid(search,2)) >0) then

                                output "[表]:  "+ folder.parent.name+"--->"+folder.name+"--->"+tab.name

                            end  if

          

                            dim subcollect

                             if isCdm=1 then      

                                  set  subcollect=tab.Attributes                 

                              else      

                                  set subcollect=tab.columns

                              end if                  

                              for each col in subcollect

                              if lcase(col.code)=search or (mid(search,1,1)="%" and instr(lcase(col.code),mid(search,2)) >0)  then

                                   output "[字段]:  "+folder.parent.name+"--->"+folder.name+"--->"+tab.name+"--->"+col.name

                             end if

                             next

                  end if

             next

           

            '递归遍历子文件夹

             Dim   f   '子文件夹

             For   Each   f   In   folder.Packages

                   if   not   f.IsShortcut   then

                         ProcessFolder   f, isCdm

                   end   if

             Next

       end   sub

      

  • 相关阅读:
    python 函数的参数
    python 函数
    python set
    python 字典
    python 条件判断和循环
    OSMC Vs. OpenELEC Vs. LibreELEC – Kodi Operating System Comparison
    深度学习中噪声标签的影响和识别
    Open images from USB camera on linux using V4L2 with OpenCV
    球面镜成像原理,焦距推导
    动画演示10个有趣但毫无用处的Linux命令
  • 原文地址:https://www.cnblogs.com/mol1995/p/7202232.html
Copyright © 2011-2022 走看看