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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > vba, как посчитать количество блоков с помощью item и handle?

vba, как посчитать количество блоков с помощью item и handle?

Ответ
Поиск в этой теме
Непрочитано 10.03.2018, 18:07
vba, как посчитать количество блоков с помощью item и handle?
Simson
 
Регистрация: 08.03.2018
Сообщений: 45

Дело в том что макрос вбивает команду извлечения данных в командную строку а потом работает с извлеченными данными. Но по факту получается что он не дождавшись когда команда выполнится начинает обрабатывать данные, а они еще не извлеклись, соответственно файл пустой. решил сделать отдельную процедуру( продолжение основного когда) реагирующего на завершение команды.
в основном коде вот такой строчкой завершается код.

Код:
[Выделить все]
ThisDrawing.SendCommand ("-ДАННЫЕИЗВЛ" & vbCr & spath & dxe & ".dxe" & vbCr & "Да" & vbCr)
Теста ради написал такие строчки чтоб проверить как работает...

Код:
[Выделить все]
Private Sub AcadDocument_beginCommand(ByVal CommandName As String)
    If CommandName <> "-ДАННЫЕИЗВЛ" & vbCr Then
        Exit Sub
    End If
    MsgBox "hopla"
End Sub
в итоге условие распознания команды вовсе не реагирует.. не видит он эту команду. пробовал и vbcr добавлять- никак..
как это можно исправить?
и может есть идеи реализовать это проще? может внутри процедуры можно все такие задать условие при котором код продолжиться только после завершения команды?

Последний раз редактировалось Simson, 10.03.2018 в 22:09.
Просмотров: 9300
 
Автор темы   Непрочитано 12.03.2018, 21:37
#61
Simson


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


да подучить безусловно стоит. спасибо
пс: мои блоки мне нравятся больше.. но тут уж дело индивидуальное..
подскажите через перебор или через выборку обекты ищутся только в этом чертеже или все подгруженные ссылки тоже участвуют?

----- добавлено через ~7 мин. -----
Цитата:
Сообщение от Boxa Посмотреть сообщение
On Error Resume Next

ThisDrawing.Utility.GetEntity returnObj, basePnt, "Select an object"

If Err <> 0 Then
Err.Clear
я ошибаюсь или в даннос случае не надо обнулять ошибку ибо эта строчка сама обнуляет ошибку?
On Error Resume Next
Simson вне форума  
 
Непрочитано 13.03.2018, 06:36
#62
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Simson Посмотреть сообщение
я ошибаюсь или в даннос случае не надо обнулять ошибку ибо эта строчка сама обнуляет ошибку?
On Error Resume Next
Может быть Вы сами посмотрите в справке по VBA (именно VBA, так как это ни коем образом не касается автокада) на разделы посвященные конструкции On Error и объекту Err, внимательно прочитаете сообщение откуда код выдрали, сами разберетесь и сами ответите на свой вопрос?
Boxa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > vba, как посчитать количество блоков с помощью item и handle?

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слой и стили. Их создание, установка текущими, и возврат к исходному состоянию после завершения команды Browning Zed LISP 7 23.02.2018 11:36
Очистка временных файлов после вызова команды Копировать в буфер olga87 LISP 12 15.11.2017 12:45
Как настроить AutoCAD. Сохранение протокола командной строки после закрытия файла auzerius Программирование 2 01.11.2015 17:25
Зависание системы после установки AutoCAD 2010 Westroy AutoCAD 1 11.05.2010 15:27
Зарос в командной строке русского AutoCAD. {Smirnoff} AutoCAD 4 12.01.2006 14:06