Создание набора выбранных объектов

Здравствуйте Уважаемые специалисты NanoCAD!

Подскажите пожалуйста, почему в строке “For I = 0 To acadDoc.SelectionSets.Count - 1” ошибка? (vba excel)

Dim acadApp As nanoCAD.Application
Dim acadDoc As nanoCAD.Document

On Error Resume Next
Set acadApp = GetObject(, “nanoCAD.Application”)
On Error GoTo 0

acadApp.Visible = True

Dim objSelectionSet As SelectionSet
Dim EntGroup(0 To 0) As Integer
Dim EntData(0 To 0) As Variant

EntGroup(0) = 0
EntData(0) = “INSERT”

For I = 0 To acadDoc.SelectionSets.Count - 1
If acadDoc.SelectionSets.Item(I).Name = “TempSSet” Then acadDoc.SelectionSets(“TempSSet”).DELETE
Next I

Set objSelectionSet = acadDoc.SelectionSets.Add(“TempSSet”)
objSelectionSet.SelectOnScreen EntGroup, EntData

Как в nanoCAD создать набор выбранных объектов?

это посмотри

selset.zip (1,0 КБ)

Не получается пока!

Не получается пока!

Вообще идея такая, переделать под NanoCAD файл:

https://antondevyatov.blogspot.com/2017/11/cadex.html

Здесь можно скачать бесплатную версию.

что конкретно не получается?

выше 100% рабочий код дал

Ошибка (Nothing) на строке “Set objSelCol = ThisDrawing.SelectionSets” и “Set objSelSet = ThisDrawing.SelectionSets.Add(strName)”

Стесняюсь спросить ты файлы в эксель импортировала? Или частями вставила?

Это

Public ThisDrawing As Object

Должно быть вне функции

так пробуй

selset-xlsm.zip (13,7 КБ)

так пробуй

Ничего не происходит- ни запросов, ни ошибок

дык в отладчике пробуй F8 по шагам, пока не поймешь как это работает

image.png

тактто со справки надо начинать

image.png

там даже примеры есть

image.png

хех, движок форума не дает *.chm загрузить((((

Спасибо, разобралась, выбор идет.

On Error GoTo 0
Set app = GetObject(, “nanoCAD.Application”)
app.Visible = True
Set ThisDrawing = app.ActiveDocument

'Выбрать блоки на чертеже:
On Error Resume Next
Set ssetObj = ThisDrawing.SelectionSets.Item(“BlockSSET”)
If Err Then Set ssetObj = ThisDrawing.SelectionSets.Add(“BlockSSET”)
On Error GoTo 0
ssetObj.Clear

'Настройка фильтра:
gpCode(0) = 0
dataValue(0) = “Insert”

'Выбранные блоки:
ssetObj.SelectOnScreen gpCode, dataValue

If ssetObj.Count > 0 Then

Дополнительно спасибо за справки.