我的For
循环中存在一个小错误,因为它不会选择我想要着色的部分。我使用变量哈希将文档的所有名称放在那里,然后尝试使用Catia函数进行着色,但仍然没有任何内容!
以下是代码的一部分。
问题区域是Select Case
。如果找到它,它实际上不会选择和着色部件。
更新:现在我确切地知道问题的确切位置,在选择零件并着色它的情况下。不知怎的,它甚至都不会选择那部分。
For n = 1 To DokAnzahl
Set Dokument = DokumentArray(n)
ReDim DokumentArrayNew(DokAnzahl)
DokumentArrayNew(n) = CStr(Dokument.Name)
For j = 1 To UBound(arrNamen)
If arrNamenNew(j) = Left(DokumentArrayNew(n), Len(arrNamenNew(1))) Then
'MsgBox "They are equal!"
hash = DokumentArrayNew(n)
ColorCode(j) = arrFarben(j)
'MsgBox ColorCode(j) checked
m = j+1
Select Case ColorCode(j)
Case "NEU" 'rot
Set sel = catia.activedocument.selection
sel.search "Name =hash,all"
sel.visproperties.setRealColor 240, 1, 1, 1
Case "entfällt" 'Gelb
Set sel = catia.activedocument.selection
sel.search "Name =hash,all"
sel.visproperties.setRealColor 240, 240, 16, 1
Case "COP" 'Grün
Set sel = catia.activedocument.selection
sel.search "Name =hash,all"
sel.visproperties.setRealColor 30, 240, 60, 1
Case Else
MsgBox "no color info"
End Select
End If
Next
Next
答案 0 :(得分:1)
您的Selection.Search
正在搜索"Hash"
这个词,而不是变量hash
将您的Select Case
语句更改为:
Set sel = catia.activedocument.selection
sel.search "Name =*" & hash & "*,all"