Страница: 1 |
Здравствуйте, коллеги. Вот есть VBA как среда программирования: то, что открывается "около" Excel'я (97-го, например) по Alt-F11 ... И есть в ней такие "специальные" окна: 1. Окно локальных переменных 2. Окно контрольного значения 3. Стек вызова ... То есть - среда всю эту "информацию" об исполняемой VB(А)-программе отслеживает и даже нам благосклонно показывает - смотрите сколько хотите ... глазками :-( Вопрос: а можно ли как-то ПРОГРАММНО (то есть - изнутри самой исполняемой программы) до всей этой функциональной информации дотянуться? (Ну типа того, как библиотека "MS VB for Application Extensibility" позволяет программе дотянуться самой до своего собственного текста ... ) Буду очень признателен за разъяснения и даже - за указание направления, в котором мне следует за ними отправиться! ;-) НП, Иван FXS PS. А вообще: "среда" VBA - это ActiveX?
VBA это надстройка, а не ActiveX, хотя элементы последнего имеют место. И в сети можно найти даже пару контролов позволяющих добавлять в собственные программы на VB VBA-совместимые скрипты. Она вполне самостоятельна. Добраться до значений этого всего можно с помощью некоторых недокументированных API вкупе с VarPtr,ObjPtr,AddressOf и прочими аттавизмами VB, которые периодически появляются на сайтах подобных allapi.net. Спасибо за ответ, Вечный Юзер! Вообще, это метафора или точный термин? > Она вполне самостоятельна. А не подскажете, - из какого файла она (надстройка-VBA) загружается? НП, Иван FXS Надстройка это обычная библиотека, скомпилированная только с особыми параметрами, для того чтобы можно было цепляться к конкретному прораммному продукту. Для Excell'я надстройки могут иметь как расширение dll, так и xla. Надстройки настраиваются через меню Сервис/Надстройки... можно поэксперементировать со штатными надстроечками. VBA живет в /../../Program Files/Common files/Microsoft Shared/VBA/. На счет "вполне самостоятельна" эт я погорячился. Я имел ввиду, что для разработки макросов/надстроек её вполне хватает. А вот без среды она работать может и будет, только вот это уже будет Visual Basic без компилятора. Кому он такой нужен? Правильно - никому. А как надстройка - милое дело. Corel Draw уже с версии 10 (после того как Microsoft перекупил некоторый процент его акций) имеет в себе полноценую среду VBA. Почему ее нельзя выключить? Ответ прост - сама программа ей пользуется. Можно провести эксперимент. Отправить на печать четконастроенный текст. То есть двусторонняя печать через один в экономном качестве и пр... В момент спулинга (отправки печати на принтер) нажать на Ctrl+Break. Увидим временный макрос, созданный MS Word, к примеру, в котором все это описано. Только компьютер и принтер должны быть как можно медленнее, потому как все это осуществляется за какие-то секунды а то и доли. >Надстройки настраиваются через меню Сервис/Надстройки А-a-a! Эти-то "надстройки" я знаю (не совсем уж чайник ) ... Но VBA-как-надстройку там ведь отсутствует, правда? > VBA живет в /../../Program Files/Common files/Microsoft Shared/VBA/ Вот полный список "исполнимых" файлов из этой директории на моем компюьютере: MRT7RUS.DLL VBA332.DLL VBA3RU.DLL VBACV10.DLL VBACV20.DLL VBE.DLL VBEEXT1.OLB - не подскажите, который из них - VBA-редактор? А "среда", та которая - например - трассирует исполняемый макрос, она тоже в одной из этих "библиотек"? Спаибо за ответы, НП, Иван FXS Правда не знаю)) Не разбирать же их долбагером в самом деле... А собственно к чему это все? Если нужен контрол, который бы позволил использовать VBA в собственных проектах, то я могу выслать(только не сегодня). Страница: 1 |
Вопрос: Q: специальные возможности среды VBA?
Добавлено: 04.01.03 14:53
Автор вопроса: Иван FXS
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #1
Добавлено: 08.01.03 10:06
Номер ответа: 2
Автор ответа:
Иван FXS
Вопросов: 5
Ответов: 7
Профиль | | #2
Добавлено: 08.01.03 12:18
Но - что такое "надстройка" (= над чем она надстраивается)?
Номер ответа: 3
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #3
Добавлено: 08.01.03 12:37
Номер ответа: 4
Автор ответа:
Иван FXS
Вопросов: 5
Ответов: 7
Профиль | | #4
Добавлено: 08.01.03 15:05
Номер ответа: 5
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #5
Добавлено: 09.01.03 09:50