dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA, После закрытия userform кнопка запуска макроса(зеленый треугольник) не активен

VBA, После закрытия userform кнопка запуска макроса(зеленый треугольник) не активен

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 17.03.2018, 12:30 #1
VBA, После закрытия userform кнопка запуска макроса(зеленый треугольник) не активен
Simson
 
Регистрация: 08.03.2018
Сообщений: 45

Simson вне форума Вставить имя

создал пустую форму без кнопок кода и тд... написал макрос запуска этой формы и последующей выгрузки( ну или без нее)
Код:
[Выделить все]
Sub test()

    UserForm1.show
    Unload UserForm1
    
End Sub
открывается форма закрываю ее на крестик. процедура заканчивается но треугольничек остается неактивным будто идут какие то процессы еще.. в чем дело? что происходит там в фоне? как это решить?

Последний раз редактировалось Simson, 17.03.2018 в 13:00.
Просмотров: 2734
 
Непрочитано 17.03.2018, 12:55
#2
Сергей812


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


Редактор VBA порою живет своей жизнью, причем рандомно) Смиритесь и перезагружайтесь, к примеру) В том же NET API есть специальные функции для запуска модальных форм в контексте именно самого приложения акад.

----- добавлено через 58 сек. -----
p.s. Указывайте в заголовке язык программирования, плиз.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 17.03.2018, 13:09
#3
Simson


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


спасибо, почитаю
Simson вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.03.2018, 13:26
#4
Сергей812


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


просто раньше альтернативы не было - либо лисп (он непривычен, проблемы с созданием диалогов) либо VBA. ObjectARX стоял в сторонке особняком, из-за низкоуровневой работы с акадом там надо хорошо понимать, что делаешь) А сейчас уже много материала на Net (в том числе и на русском), сама среда исполнения представлена уже в виде оберток над низкоуровневыми функциями, с внутренними проверками - т.е. чтобы уронить акад в фатал, надо приложить определенные усилия. Сред разработки, включая бесплатных - тоже достаточно. Изучать полностью талмуты в тысячи страниц, чтобы начать писать на Net - совершенно не обязательно. Во всяком случае, чтобы выйти на уровень того - что можно написать на VBA)
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.03.2018, 13:33
#5
Бахил

?
 
Регистрация: 17.06.2014
Царицын
Сообщений: 7,376


Цитата:
Сообщение от Simson Посмотреть сообщение
Код:

Sub test()

UserForm1.show
Unload UserForm1

End Sub
Offtop: Из серии "Программисты шутят"
Используй .Showmodal.

----- добавлено через ~5 мин. -----
Offtop: А вообще надо хоть немного понимать как работает ОС
__________________
Сон разума рождает чудовищ. (испанская пословица)
Бахил вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 17.03.2018, 13:39
#6
Simson


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


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

----- добавлено через ~3 мин. -----
Цитата:
Сообщение от Бахил Посмотреть сообщение
Используй .Showmodal.
такого нет ..
UserForm1.show vbModal
пробовал и выходит то же самое
Simson вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.03.2018, 13:49
#7
Сергей812


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


Цитата:
Сообщение от Simson Посмотреть сообщение
UserForm1.show vbModal
и просто UserForm1.show эквиваленты в VBA.

----- добавлено через ~13 мин. -----
Цитата:
Сообщение от Simson Посмотреть сообщение
просто вба уже встроен и с ним просто работать..
как раз он не встроен в акад по умолчанию) А насчет простой работы - когда поработаешь в даже бесплатных студиях, а потом садишься кодить в VBA (для офиса) - становится очень грустно от безнадежно застывшего в развитии языка и среды разработки.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 17.03.2018, 14:06
#8
Simson


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


почему в таком случае Net а не С# например?
Simson вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.03.2018, 14:11
#9
Сергей812


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


Цитата:
Сообщение от Simson Посмотреть сообщение
почему в таком случае Net а не С# например?
разберитесь в терминологии: .Net - это фреймворк, а C# - лишь один из языков программирования с использованием .Net.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 17.03.2018, 14:13
#10
Simson


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


похоже пора начать разбираться.. я просто только начал постигать это.. и начал с вба собственно. спасибо

----- добавлено через ~1 мин. -----
а может подскажете на каком языке актуальнее, проще, удобнее писать?
Simson вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.03.2018, 14:24
#11
Бахил

?
 
Регистрация: 17.06.2014
Царицын
Сообщений: 7,376


Цитата:
Сообщение от Simson Посмотреть сообщение
такого нет
Есть! Попробуй
Код:
[Выделить все]
Sub test()
UserForm1.showmodal
End Sub
Почувствуешь разницу
__________________
Сон разума рождает чудовищ. (испанская пословица)
Бахил вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 17.03.2018, 14:26
#12
Simson


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


если это шутка то так себе
Simson вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.03.2018, 14:33
#13
Бахил

?
 
Регистрация: 17.06.2014
Царицын
Сообщений: 7,376


В екселе работает...
__________________
Сон разума рождает чудовищ. (испанская пословица)
Бахил вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 17.03.2018, 14:39
#14
Simson


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


кажется форум dwg называется...
Simson вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.03.2018, 14:46
#15
Бахил

?
 
Регистрация: 17.06.2014
Царицын
Сообщений: 7,376


Так VBA он для любого приложения...
Offtop: Впрочем...Если такой "умный" хрена вопросы задавать? Переходи на Сишарп. Там гораздо больше глюков у тебя будет.
__________________
Сон разума рождает чудовищ. (испанская пословица)
Бахил вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.03.2018, 14:56
#16
Сергей812


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


ShowModal
причем через браузер объектов (F2) этого свойства нет, доступен лишь через палитру свойств формы. Хотя при этом пишут - что свойство доступно только для чтения во время выполнения)
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.03.2018, 16:45
#17
Бахил

?
 
Регистрация: 17.06.2014
Царицын
Сообщений: 7,376


Offtop: Код ТС - БСК. К сожалению он не может понять, что ему советуют. Правильный код в № 5. Если человек...
__________________
Сон разума рождает чудовищ. (испанская пословица)
Бахил вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 17.03.2018, 16:55
#18
Simson


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


да пробовал я так вводить ничего не меняется!! к тому же как уже сказали выше это роли не играет! если нажмешь на форму у нее в параметрах по умолчанию стоит modal true! в екселе работает и без modal!в автокаде никак.
Simson вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.03.2018, 17:14
#19
Сергей812


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


Цитата:
Сообщение от Бахил Посмотреть сообщение
Правильный код в № 5.
браузер объектов редактора VBA не "видит" ShowModal в программной модели, официальный хелп от Майкрософт говорит - что это свойство. При этом вы пытаетесь уверить, что это правильный код:
Цитата:
Сообщение от Бахил Посмотреть сообщение
UserForm1.showmodal
Цитата:
Сообщение от Бахил Посмотреть сообщение
В екселе работает...
в принципе, можно свойство написать так - что при присвоении какого-то значения оно будет выполнять определенный код. Но тогда должно быть справа присвоение значения, а не попытка вызова свойства как процедуры/функции.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.03.2018, 17:56
#20
Сергей812


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


Simson, попробуй так вызывать

Код:
[Выделить все]
Dim lDlg as new UserForm1
lDlg.Show
Unload lDlg
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA, После закрытия userform кнопка запуска макроса(зеленый треугольник) не активен

РЕВЕРС. Автоматическая пакетная печать множества рамок (форматов) из пространства модели и листов
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пропадают картинки после закрытия программы Mariya_Space AutoCAD 13 16.06.2017 10:10
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 106 25.10.2015 19:00
После применения offset не удаляется (не редактируется) исходный объект Nata1 AutoCAD 7 07.04.2015 09:08
Глюки после установи последнего обновления на Civil 3D 2013 black_mts Вертикальные решения на базе AutoCAD 14 22.01.2013 19:02
Невозможность изменения файла чертежа после его закрытия в Автокаде. Из-за чего!?!? Botan AutoCAD 12 12.04.2009 05:27

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||