Передача переменных в методы в CATVBA - PullRequest
0 голосов
/ 04 июня 2018

Этот макрос написан для управления функциями в 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 - это переменная типа string, содержащая имя эскиза, которое было установлено ранее в коде с помощью выбора пользователя.

Я получаю сообщение об ошибке:

«Объект не поддерживает это действие».

Исходя из программирования VBA в фоновом режиме Excel, передавая переменныекак параметры метода очень просто.V5automation.chm предлагает единственную помощь, которую метод GetItem принимает в качестве параметра CATBSTR IDName.Я предполагаю CATBSTR обозначает строку.Есть идеи?

...