我现在在用VB做CATIA的二次开发来直接导出BOM表。目前阶段是我能单独打开part文件,并且能提取part文件里的所有内容的文件名。而且也能打开product文件,并读取所有的partnumber导出到excel中,但是当取到part文件时,我就不能够在product里直接激活并读取part文件里的信息。很是头疼。如下我附上部门代码,望各位专家帮我解答,谢谢! If oRootchildren2.Count > 0 Then IP = IP + 1 '---------------------------------------------------------------------------------------------------------------------- For j = 1 To oRootchildren2.Count '---------------------- Range("A" + Trim(Str(PI))).Select '---------------------- Set oRoot = oRootchildren2.Item(j) ActiveCell.FormulaR1C1 = oRoot.PartNumber '---------------------- Range("D" + Trim(Str(PI))).Select '---------------------- ActiveCell.FormulaR1C1 = IP '---------------------- PI = PI + 1 '---------------------- Call tree_trip1(oRootchildren2.Item(j), PI, IP) Next '---------------------- '---------------------------------------------------------------------------------------------------------------------- IP = IP - 1 ‘在这个部分应该增加一个part文件的激活,但是我不会! '如果有多个实体特征,则分别搜索 For i = 1 To oPartDoc.Part.Bodies.Count '把myBody设为实体集合中的元素以便搜索 Set myBody = oPart.Bodies.Item(i) For l = 1 To myBody.HybridShapes.Count '把myShape设为集合中的特征 Set oShape = myBody.HybridShapes.Item(l) Range("A" + Trim(Str(l) + 5)).Select ActiveCell.FormulaR1C1 = oShape.Name Next Range("E" + Trim(Str(i) + 5)).Select ActiveCell.FormulaR1C1 = myBody.Name Next End If