Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Закладки » AutoCad 2005/VBA

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

NoLacIPa

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток.
 
Заранее сорри, если тему не туда вставил.
 
Описание проблемы:
 
есть пользовательсякая форма встроенная в документ АвтоКад 2005, на ней имееться ТекстБокс1. Я никогда не морочил себе голову и запускал ее из отладки и делал, что мне нужно. А теперь надо шефу показать и нужно чтоб при открытии данного документа форма выскакивала автоматически. Я когда то еще давно пользовал ВБА для Excel ну и по аналогии решил сделать так:
в ThisDrawing вставил код
 
Private Sub AcadDocument_Activate()
 
UserForm1.Show
 
End Sub
 
Форма грузиться, но фокус на ТекстБокс не удаеться перевести (тоесть туда писать ни чего нельзя). Фокус передаеться либо в строку команд, либо вообще хрен знает куда. Я своим скудным умом думаю это из-за того что не все модули загружены... Вот что делать? Я уже чем только не спикулировал. Подкиньте идей, кто разбираеться...

Всего записей: 3 | Зарегистр. 11-11-2009 | Отправлено: 15:27 11-11-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NoLacIPa
Попробуй

Код:
Private Sub AcadDocument_Activate()  
   
UserForm1.Show
 
ТекстБокс1.SetFocus
 
End Sub  

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 21:31 11-11-2009
Alexikit

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NoLacIPa
Попробуйте вставить этот код не в ThisDrawing , а вставить модуль и туда Ваш код. Только я бы написала
 
Public Sub AcadDocument_Activate()  
   
UserForm1.Show  
 
End Sub  

Всего записей: 79 | Зарегистр. 01-04-2009 | Отправлено: 12:43 12-11-2009
PrWork1

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NoLacIPa
попробуй в acaddoc.lsp
 
(command "-vbastmt" "..команда VBA для загрузки и отображения окна..")

Всего записей: 582 | Зарегистр. 15-12-2005 | Отправлено: 23:14 12-11-2009
NoLacIPa

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexikit это не подойдет, нужно чтоб эта процедура вызывалась при загрузке данного документа
 
dneprcomp
 
это не подойдет. Почему, я не знаю. Говорят без hwnd не обойтись
 
 
Добавлено:
PrWork1
Если можешь напиши по подробнее, я просто в этом не понимаю. Или пример пришли какой нибудь..

Всего записей: 3 | Зарегистр. 11-11-2009 | Отправлено: 13:29 21-11-2009
PrWork1

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NoLacIPa
 
Например в этом чертеже есть  
 
Sub test1()
 
 Call UserForm1.Show
 
 
End Sub
 
В файл acaddoc.lsp в конце поставь
 
(command "_vbarun" "ThisDrawing.test1")
 
Тогда при открытии ЛЮБОГО документа будет запускаться эта процедура
( если её в документе нет, будет выдаваться в командной строке ошибка)
 
Можно сделать, чтобы эта команда вызывалась только в определенном документе (по имени)

Всего записей: 582 | Зарегистр. 15-12-2005 | Отправлено: 16:25 21-11-2009 | Исправлено: PrWork1, 16:31 21-11-2009
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Закладки » AutoCad 2005/VBA


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru