資料庫已經有了,里面也有表格,我這邊有個介面輸入欄位DH,回傳值為BM,可以通過VB呼叫,不用他這個介面實作嗎?謝謝
資料庫地址:192.168.1.101
資料庫型別:orcl
用戶名: DZHT
密碼:DZHT
資料表: partdic
輸入的代號欄位:dh (自動獲取VB中的代號值)
生成的編碼欄位:bm
下面是SolidWorks里面的宏檔案:
'定義SolidWorks
Dim strmat As String
Dim a() As String
Dim b As Integer
Dim c As String
Dim d As String
Dim e As String
Dim f As String
Dim g() As String
Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Dim tempvalue As String
Dim part As Object
Dim Part1 As Object
Dim swApp As SldWorks.SldWorks
Dim swModelDoc As SldWorks.ModelDoc2
Dim swConfig As SldWorks.Configuration
Dim CustPropMgr As SldWorks.CustomPropertyManager
Dim swModel As SldWorks.ModelDoc2
Sub main()
Set swApp = Application.SldWorks
Set swModelDoc = swApp.ActiveDoc
Set part = swApp.ActiveDoc
Set SelMgr = part.SelectionManager
swApp.ActiveDoc.ActiveView.FrameState = 1
Set swModelDoc = swApp.ActiveDoc
Set swConfig = swModelDoc.ConfigurationManager.ActiveConfiguration
Set swModel = swApp.ActiveDoc
Set CustPropMgr = swModel.Extension.CustomPropertyManager(swModel.ConfigurationManager.ActiveConfiguration.Name) ' 配置特定延伸
'設定變數
Set part = swApp.ActiveDoc
Set SelMgr = part.SelectionManager
swApp.ActiveDoc.ActiveView.FrameState = 1
Set swModelDoc = swApp.ActiveDoc
Set swConfig = swModelDoc.ConfigurationManager.ActiveConfiguration
Set swModel = swApp.ActiveDoc
Set CustPropMgr = swModel.Extension.CustomPropertyManager(swModel.ConfigurationManager.ActiveConfiguration.Name) ' 配置特定延伸
'設定變數
c = swApp.ActiveDoc.GetTitle() ' 零件名
b = swApp.ActiveDoc.GetType() '零件型別
a = Split(c, " ") '重點:分隔識別符號,這里是一個空格,也可換成其他符號
d = a(0)'(這個是想輸入資料庫的值也就是dh,想得到回傳值bm,填到備注里)
e = a(1)
f = Right(c, 7)
If b = 1 Then
strmat1 = Chr(34) + Trim("SW-Mass" + "@" + "@默認@") + c + ".SLDPRT" + Chr(34) ' Weight
strmat = Chr(34) + Trim("SW-Material" + "@" + "@默認@") + c + ".SLDPRT" + Chr(34) ' Material
w = "/"
Else
strmat = "附圖"
strmat1 = Chr(34) + Trim("SW-Mass" + "@" + "@默認@") + c + ".SLDASM" + Chr(34) ' Weight
w = "組件"
End If
If f = ".SLDPRT" Then
g = Split(e, ".")
e = g(0)
End If
If f = ".sldprt" Then
g = Split(e, ".")
e = g(0)
End If
If f = ".SLDASM" Then
g = Split(e, ".")
e = g(0)
End If
If f = ".sldasm" Then
g = Split(e, ".")
e = g(0)
End If
blnretval = part.DeleteCustomInfo2("", "代號")
blnretval = part.DeleteCustomInfo2("", "設計")
blnretval = part.DeleteCustomInfo2("", "名稱")
'blnretval = part.DeleteCustomInfo2("", "編碼")
blnretval = part.DeleteCustomInfo2("", "材料")
blnretval = part.DeleteCustomInfo2("", "規格")
blnretval = part.DeleteCustomInfo2("", "數量")
blnretval = part.DeleteCustomInfo2("", "Specification")
blnretval = part.DeleteCustomInfo2("", "單重")
blnretval = part.DeleteCustomInfo2("", "質量")
blnretval = part.DeleteCustomInfo2("", "繪圖")
blnretval = part.DeleteCustomInfo2("", "批準")
blnretval = part.DeleteCustomInfo2("", "日期")
blnretval = part.DeleteCustomInfo2("", "校核")
blnretval = part.DeleteCustomInfo2("", "替代")
blnretval = part.DeleteCustomInfo2("", "圖幅")
blnretval = part.DeleteCustomInfo2("", "版本")
blnretval = part.DeleteCustomInfo2("", "備注")
blnretval = part.DeleteCustomInfo2("", "審核")
blnretval = part.DeleteCustomInfo2("", "Material")
b lnretval = part.DeleteCustomInfo2("", "零件號")
blnretval = part.DeleteCustomInfo2("", "校核")
blnretval = part.DeleteCustomInfo2("", "主管設計")
blnretval = part.DeleteCustomInfo2("", "校對")
blnretval = part.DeleteCustomInfo2("", "Weight")
blnretval = part.DeleteCustomInfo2("", "Description")
blnretval = part.DeleteCustomInfo2("", "標準審查")
blnretval = part.DeleteCustomInfo2("", "工藝審查")
blnretval = part.DeleteCustomInfo2("", "審定")
blnretval = part.DeleteCustomInfo2("", "階段標記S")
blnretval = part.DeleteCustomInfo2("", "階段標記A")
blnretval = part.DeleteCustomInfo2("", "階段標記B")
blnretval = part.DeleteCustomInfo2("", "階段標記")
blnretval = part.DeleteCustomInfo2("", "共X張")
blnretval = part.DeleteCustomInfo2("", "第X張")
'洗掉欄
CustPropMgr.Delete ("名稱")
CustPropMgr.Delete ("設計")
CustPropMgr.Delete ("繪圖")
CustPropMgr.Delete ("材料")
CustPropMgr.Delete ("代號")
CustPropMgr.Delete ("設備名稱")
CustPropMgr.Delete ("數量")
CustPropMgr.Delete ("單重")
CustPropMgr.Delete ("規格")
CustPropMgr.Delete ("備注")
CustPropMgr.Delete ("質量")
'新增
CustPropMgr.Add2 "代號/名稱", swCustomInfoText, d + e ' 設計
'CustPropMgr.Add2 "繪圖", swCustomInfoText, "姓名" ' 設計
'CustPropMgr.Add2 "零件號", swCustomInfoText, "" ' 零件號
'CustPropMgr.Add2 "校對", swCustomInfoText, " " ' 校對
'CustPropMgr.Add2 "審核", swCustomInfoText, " " ' 審核
'custPropMgr.Add2 "批準", swCustomInfoText, " " ' 批準
'CustPropMgr.Add2 "標準化", swCustomInfoText, " " ' 標準化
CustPropMgr.Add2 "代號", swCustomInfoText, d ' 代號
CustPropMgr.Add2 "名稱", swCustomInfoText, e ' 名稱
CustPropMgr.Add2 "備注", swCustomInfoText, "" ' 備注
CustPropMgr.Add2 "編碼", swCustomInfoText, "" ' 編碼
CustPropMgr.Add2 "規格", swCustomInfoText, w ' 規格
CustPropMgr.Add2 "變更單號", swCustomInfoText, "" ' 變更單號
'CustPropMgr.Add2 "階段標記", swCustomInfoText, "" ' 階段標記
'CustPropMgr.Add2 "階段標記S", swCustomInfoText, "" '階段標記S
'CustPropMgr.Add2 "階段標記A", swCustomInfoText, "" ' 階段標記A
'CustPropMgr.Add2 "階段標記B", swCustomInfoText, "" ' 階段標記B
'CustPropMgr.Add2 "日期", swCustomInfoText, "" ' 日期
'CustPropMgr.Add2 "共X張", swCustomInfoText, "" ' 共X張
'CustPropMgr.Add2 "第X張", swCustomInfoText, "" ' 第X張
'CustPropMgr.Add2 "比例", swCustomInfoText, " " ' 比例
CustPropMgr.Add2 "質量", swCustomInfoText, strmat1 '質量
CustPropMgr.Add2 "單重", swCustomInfoText, strmat1 '單量
CustPropMgr.Add2 "材料", swCustomInfoText, strmat '材料
'加入所需陳述句
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/15140.html
標籤:VBA
上一篇:流行演算法
