设为首页 加入收藏

TOP

PDM与Excel利用VB脚本进行互导(四)
2015-11-21 02:05:01 来源: 作者: 【 】 浏览:3
Tags:PDM Excel 利用 脚本 进行
E FUNCTION CreateOrReplaceColumnByCode(code,table) DIM col 'Table 对象 SET col =FindColumnByCode(code,table) IF col IS NOTHING THEN SET col =table.Columns.CreateNew col.SetNameAndCode code , code END IF SET CreateOrReplaceColumnByCode = col END FUNCTION PRIVATE FUNCTION FindPackageByName(name,model) DIM pkg 'Table 对象 SET FindPackageByName = NOTHING FOR EACH pkg IN model.Packages IF NOT pkg.isShortcut THEN IF pkg.name =name THEN SET FindPackageByName=pkg Exit FOR END IF END IF NEXT END FUNCTION PRIVATE FUNCTION FindTableByName(name,package) DIM Tab1 'Table 对象 SET FindTableByName = NOTHING FOR EACH Tab1 IN package.Tables IF NOT Tab1.isShortcut THEN IF Tab1.name =name THEN SET FindTableByName=Tab1 Exit FOR END IF END IF NEXT END FUNCTION PRIVATE FUNCTION FindTableByCode(code,package) DIM Tab1 'Table 对象 SET FindTableByCode = NOTHING FOR EACH Tab1 IN package.Tables IF NOT Tab1.isShortcut THEN 'OUTPUT "循环表:"+Tab1.name IF Tab1.code =code THEN SET FindTableByCode=Tab1 Exit FOR END IF END IF NEXT END FUNCTION PRIVATE FUNCTION FindColumnByCode(code,tabobj) DIM col1 'Column 对象 'OUTPUT "code:"+code SET FindColumnByCode = NOTHING FOR EACH col1 IN tabobj.Columns 'OUTPUT "code2:"+col1.code IF col1.code =code THEN SET FindColumnByCode=col1 EXIT FOR END IF NEXT END FUNCTION PRIVATE FUNCTION FindColumnByName(name,tabobj) DIM col1 'Column 对象 'OUTPUT "codename:"+name SET FindColumnByName = NOTHING FOR EACH col1 IN tabobj.Columns IF col1.name =name THEN SET FindColumnByName=col1 EXIT FOR END IF NEXT END FUNCTION PRIVATE FUNCTION FindDomainByName(dmname,mdl) DIM dm1 'Domain 对象 SET FindDomainByName = NOTHING FOR EACH dm1 IN mdl.domains IF NOT dm1.isShortcut THEN IF dm1.name =dmname THEN SET FindDomainByName =dm1 EXIT FOR END IF END IF NEXT END FUNCTION PRIVATE FUNCTION FindUserByName(username) DIM user1 SET FindUserByName = NOTHING FOR EACH user1 IN mdl.users IF user1.name=username THEN SET FindUserByName=user1 EXIT FOR END IF NEXT END FUNCTION ' 删除表的所有列 PRIVATE SUB DeleteTableColumns(table) IF NOT table.isShortcut THEN DIM col FOR EACH col IN table.columns 'output "Column deleted :"+table.name col.Delete SET col = NOTHING NEXT END IF END SUB

?

3、PDM导出成EXCEL的脚本

Export_PDM_To_Excel.vbs

'******************************************************************************
'* File:     Export_model_to_excel.vbs
'* Purpose:  将模型Table等对象的描述信息导出到Excel中
'* Title:
'* Category: Export
'* Author:   nisj
'* Created:  2015年7月31日
'* Modified:
'* Use:      打开PDM,创建新的PDM,运行本脚本(Ctrl+Shift+X)
'*           Excel 格式为
'*           MODEL Sheet
'*           |A     |B          |C          |D          |E      |F          |G          |H        |I    |J        |K      |
'*           主题域 |表注释 |表英文名称 |表中文名称 |列名   |列中文名称 |列注释 |数据类型 |主键 |是否为空 |默认值 |
'* Version:  1.0
'* Comment:
'******************************************************************************
Option Explicit

' Model sheet中的列信息
CONST CELL_A="A" '主题域(Pachage)
CONST CELL_B="B" '表注释
CONST CELL_C="C" '表英文名称
CONST CELL_D="D" '表中文名称
CONST CELL_E="E" '列名
CONST CELL_F="F" '列中文名称
CONST CELL_G="G" '列注释
CONST CELL_H="H" '数据类型
CONST CELL
首页 上一页 1 2 3 4 5 6 下一页 尾页 4/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇nginx+memcached+tomcat集群sessi.. 下一篇物联网(IOT)数据库需求和当前技术..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: