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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA Autocad Выход из цикла Do Loop

VBA Autocad Выход из цикла Do Loop

Ответ
Поиск в этой теме
Непрочитано 25.04.2015, 21:38 #1
VBA Autocad Выход из цикла Do Loop
scad2015
 
Регистрация: 18.02.2015
Сообщений: 90

Добрый день!


Вопрос как организовать выход из цикла Do Loop, таким образом, чтобы пользователь выходил по нажатии клавиши, или вводу чего либо.

Может быть, можно организовать цикл без Loop.

Спасибо!
Просмотров: 2984
 
Непрочитано 25.04.2015, 21:57
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Можешь попробовать While.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.04.2015, 22:25
#3
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Прежде чем лезть в петлю, нужно обдумать стоит ли игра свеч и план побега на всякий пожарный. так что без тела нет и дела...
gomer вне форума  
 
Автор темы   Непрочитано 27.04.2015, 18:54
#4
scad2015


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Можешь попробовать While.
А как подскажи я пробовал через отлов ошибок

Код:
[Выделить все]
Loop While Err.Number <> ' чему-нибудь, что можно отловить через тот же MsgBox
Цитата:
Сообщение от gomer Посмотреть сообщение
Прежде чем лезть в петлю, нужно обдумать стоит ли игра свеч и план побега на всякий пожарный. так что без тела нет и дела...

Ну например вот (не хочу я каждый раз жать на кнопку, когда мне надо перемножить 2 числа):


Код:
[Выделить все]
Attribute VB_Name = "Module2"




Sub Umnogenie()

'On Error Resume Next

Dim SelSetColl As AcadSelectionSets
Dim CirSet As AcadSelectionSet
Dim item As AcadEntity
Dim Umnogeniee As Double
Dim intType(3) As Integer
Dim varData(3) As Variant

intType(0) = -4
varData(0) = "<OR"
intType(1) = 0
varData(1) = "MTEXT"
intType(2) = 0
varData(2) = "TEXT"
intType(3) = -4
varData(3) = "OR>"

Do

For Each CirSet In ThisDrawing.SelectionSets
 If CirSet.Name = "Mt" Then
    CirSet.Delete
    Exit For
 End If
Next

Set SelSetColl = ActiveDocument.SelectionSets
Set CirSet = SelSetColl.Add("Mt")
CirSet.SelectOnScreen intType, varData


For Each item In CirSet


If Umnogeniee = 0 Then
Umnogeniee = 1
End If

'Umnogeniee = Umnogeniee + CDbl(item.TextString) ------  Вот это выдает ошибку Type mismatch.   Почему?   (Acad 2014 x64)
Umnogeniee = Umnogeniee * Val(item.TextString)

Next item

CirSet.Delete
Set CirSet = Nothing
Set SelSetColl = Nothing

'-----------Вставка текста суммы---------------------
ThisDrawing.Utility.Prompt "Выберите текст для вставки:"

Set SelSetColl = ActiveDocument.SelectionSets
Set CirSet = SelSetColl.Add("Mt")
CirSet.SelectOnScreen intType, varData


For Each item In CirSet
item.TextString = Umnogeniee
Next item


'-----------------------------------------------------
ThisDrawing.Utility.Prompt Umnogeniee

Umnogeniee = 0

Loop    'While Err.Number <> 0

End Sub
scad2015 вне форума  
 
Непрочитано 27.04.2015, 19:55
#5
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от scad2015 Посмотреть сообщение
Ну например вот
Для вставки результата используют один объект, а не целый набор... ну это ладно, но зачем удалять набор если он есть? Разве нельзя просто очистить его?
зачем 2 раза это: Set SelSetColl = ActiveDocument.SelectionSets?
По теме у тебя условие лупа - непустой набор текстов и выбранный текст для вставки результата
gomer вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA Autocad Выход из цикла Do Loop



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно подгрузить тяжелый растр? mixey AutoCAD 6 01.08.2014 19:59
Как заставить работать вместе AutoCAD Mechanical 2014 и MechaniCS 10 Артём 555 Вертикальные решения на базе AutoCAD 2 06.04.2014 15:00
Интеграция Autodesk СПДС в AutoCAD 2012 bolotov Прочее. Программное обеспечение 24 07.01.2013 20:22
Где в реестре хранится информация о том, что в системе когда-то был установлен AutoCAD? Archeo AutoCAD 12 14.10.2009 15:24
Что нового в AutoCAD 2005 ilka_t AutoCAD 40 19.05.2004 16:48