编写此宏是为了操纵CATIA中的功能 . 我的宏要求用户选择一个草图,然后将其复制到一个新的几何图形集(一个更大的项目的第一个阶段) . 这是相关的代码:

Dim activeDoc As PartDocument
Set activeDoc = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = activeDoc.Part

Dim bodies1 As Bodies
Set bodies1 = part1.Bodies

Dim body1 As Body
Set body1 = bodies1.Item("PartBody")

Dim shapes1 As Shapes
Set shapes1 = body1.Shapes

Dim solid1 As Solid
Set solid1 = shapes1.Item("Combine.1")

Dim sketch1 As Sketch

Set sketch1 = solid1.GetItem(selectedSketch)

Dim selection1 As Selection
Set selection1 = activeDoc.Selection
selection1.clear

selection1.Add sketch1

etc...

水平线内的代码行是我的难题的主题 . selectedSketch 是一个类型字符串的变量,其中包含通过用户选择在代码中设置的草图名称 .

我收到错误:

“对象不支持此操作” .

来自Excel背景中的VBA编程,将变量作为方法参数传递非常容易 . V5automation.chm提供了方法 GetItem 采取 CATBSTR IDName 的唯一帮助,因为's parameter. I'猜测 CATBSTR 代表字符串 . 有任何想法吗?