我正在尝试使用Access VBA操纵Catia Part属性。我知道CAT脚本语言和VBA之间存在一些不兼容性。我想知道以下内置函数是否有任何解决方法或其他选项。
.CreateString
.SetEnumerateValues
目前我在两个函数上都找到了“找不到方法或数据成员”的代码:
Dim oDoc As Document
Dim oPart As Part
Dim params As Parameters
Dim strParam As StrParam
Dim arrVendorList(1)
Set oDoc = CATIA.ActiveDocument
Set oPart = oDoc.Part
Set params = oPart.Parameters
Set strParam = params.CreateString("VENDOR", "")
arrVendorList(0) = "abc"
arrVendorList(1) = "def"
strParam.SetEnumerateValues arrVendorList
答案 0 :(得分:1)
在关于可移植性的脚本文档中,我发现简单的解决方法是取消键入应用该方法的变量。以下代码适用于访问。它添加了一个新零件,并在属性中创建了一个自定义供应商下拉列表。
Dim oDoc '**As Document
Dim i As Integer
Dim param '**As Paramaters
Dim StrParam '**As StrParam
Dim arrVendorList(2) As Variant
Set oDoc = CATIA.Documents
Set AddPart = oDoc.Add("Part") ' create new part
Set newPart = AddPart.GetItem("Part1") ' set new part
Set param = newPart.UserRefProperties
Set StrParam = param.CreateString("VENDOR", "") ' create new custom property
' add vender array list to part
arrVendorList(0) = "" ' initial value
arrVendorList(1) = "abc"
arrVendorList(2) = "def"
StrParam.SetEnumerateValues arrVendorList