| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA. Как корректно удалить все именованные наборы чертежа?

VBA. Как корректно удалить все именованные наборы чертежа?

Ответ
Поиск в этой теме
Непрочитано 23.02.2019, 14:17 #1
VBA. Как корректно удалить все именованные наборы чертежа?
Кудахтыч
 
Регистрация: 28.01.2019
Сообщений: 61

Повесил я на кнопку полу рабочий код удаления всех наборов, но он почему то работает через раз. Выдаёт ошибку, если количество именованных наборов более 0: Недопустимый аргумент index в Item.
Код:
[Выделить все]
Private Sub CommandButton33_Click() 'Удалить все именованные наборы
MsgBox ThisDrawing.SelectionSets.Count & " именованных набора будет удалено."
 If ThisDrawing.SelectionSets.Count > 0 Then
For i = 0 To ThisDrawing.SelectionSets.Count - 1
ThisDrawing.SelectionSets(i).Delete
Next i
 End If
End Sub
Удалять наборы мне нужно постоянно во время отладки программ, если наборы не были удалены неисправным кодом.
Просмотров: 1354
 
Непрочитано 23.02.2019, 14:43
#2
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 6,376


Т.е. вы не понимаете разницу между массивом и коллекцией - если удалили первый элемент, то почему последующие должны оставаться на своих местах?
Сергей812 вне форума  
 
Автор темы   Непрочитано 23.02.2019, 14:55
#3
Кудахтыч


 
Регистрация: 28.01.2019
Сообщений: 61


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Т.е. вы не понимаете разницу между массивом и коллекцией - если удалили первый элемент, то почему последующие должны оставаться на своих местах?
А всё спс понял ща всё работает:
Код:
[Выделить все]
Private Sub CommandButton33_Click() 'Удалить все именованные наборы
MsgBox ThisDrawing.SelectionSets.Count & " именованных набора будет удалено."
 If ThisDrawing.SelectionSets.Count > 0 Then
For i = 0 To ThisDrawing.SelectionSets.Count - 1
ThisDrawing.SelectionSets(0).Delete
Next i
 End If
End Sub
А может ещё есть возможность сразу удалить все именованные наборы в коллекции без перебора?
Кудахтыч вне форума  
 
Непрочитано 23.02.2019, 15:01
| 1 #4
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 6,376


Цитата:
Сообщение от Кудахтыч Посмотреть сообщение
А может ещё есть возможность сразу удалить все именованные наборы в коллекции без перебора?
Если в коллекции предусмотрен метод очистки коллекции (обычно называется типа Clear), то можно. Но в SelectionSets не вижу подобного.
Сергей812 вне форума  
 
Автор темы   Непрочитано 23.02.2019, 15:05
#5
Кудахтыч


 
Регистрация: 28.01.2019
Сообщений: 61


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Если в коллекции предусмотрен метод очистки коллекции (обычно называется типа Clear), то можно. Но в SelectionSets не вижу подобного.
Ясно спс я тоже не нашёл.
Кудахтыч вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA. Как корректно удалить все именованные наборы чертежа?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обновлять поля на свойства чертежа вставленные в таблицу? BIM AutoCAD 1 07.03.2017 22:10
Как быстро удалить внешние ссылки из чертежа? SilvioManuel AutoCAD 7 03.02.2017 10:19
Как найти и удалить 3D тело на в файле 2D чертежа reddysss Программирование 17 15.12.2016 09:04
удаление блока _Arch Tick из чертежа, как найти и удалить Dim19 AutoCAD 3 27.03.2010 17:37