不喜欢文字三千行,代码二十字,简单上:
Public Function ProductProperties(ByVal Oproduct As Product, ByVal PropStr As String, OpIndex As String) As String
On Error Resume Next
Dim parameters1 As Parameters
Set parameters1 = Oproduct.UserRefProperties
Dim EvPara() As String, Ev As Integer, GetInfo(5) As String
Select Case OpIndex
Case "Create"
EvPara = Split(PropStr, "->")
parameters1.CreateString "单位名称", EvPara(0)
parameters1.CreateString "图纸名称", EvPara(1)
parameters1.CreateString "图纸编号", EvPara(2)
parameters1.CreateString "材料名称", EvPara(3)
parameters1.CreateString "设计", EvPara(4)
parameters1.CreateString "Standard", EvPara(5)
ProductProperties = "Created"
Case "Read"
If parameters1.Count = 0 Then ProductProperties Oproduct, "单位->图名->编号->材料->设计->No", "Create"
GetInfo(0) = parameters1.Item("单位名称").ValueAsString
GetInfo(1) = parameters1.Item("图纸名称").ValueAsString
GetInfo(2) = parameters1.Item("图纸编号").ValueAsString
GetInfo(3) = parameters1.Item("材料名称").ValueAsString
GetInfo(4) = parameters1.Item("设计").ValueAsString
GetInfo(5) = parameters1.Item("Standard").ValueAsString
ProductProperties = Join(GetInfo, "->")
Case "Modify"
If parameters1.Count = 0 Then ProductProperties Oproduct, "单位->图名->编号->材料->设计->No", "Create"
EvPara = Split(PropStr, "->")
parameters1.Item("单位名称").ValuateFromString EvPara(0)
parameters1.Item("图纸名称").ValuateFromString EvPara(1)
parameters1.Item("图纸编号").ValuateFromString EvPara(2)
parameters1.Item("材料名称").ValuateFromString EvPara(3)
parameters1.Item("设计").ValuateFromString EvPara(4)
parameters1.Item("Standard").ValuateFromString EvPara(5)
ProductProperties = "Modified"
End Select
End Function
以上是完整示例,自己调整、稍作修改后即可用在工作中了,爽的话就赞就关注,我自己的作品示例:
,