Страница: 1 |
Страница: 1 |
Вопрос: Форма VBA в качестве exe-файла
Добавлено: 19.05.09 01:29
Автор вопроса: машинист
В Quick Basic процедура преобразования написанного кода в EXE-файл - естественный этап программирования. Есть ли такая процедура (что-то подобное) на VBA, "вложенном" в Excel'е? Пробовал пункт меню Compile, но так и не понял, что это.
Хотелось бы иметь самостоятельный файл, "работающий" с Excel-книгами.
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #1
Добавлено: 19.05.09 02:02
Офис 2003? Переходи на вб6, хотя лучше уже сразу на вб9 Visual Studio 2008
Номер ответа: 2
Автор ответа:
машинист
Вопросов: 6
Ответов: 26
Профиль | | #2
Добавлено: 19.05.09 03:32
Опять "Переходи"! Текущая задача для меня разовая, и осваивать ради неё Visual Studio 2008 есть ли смысл, а главное, время? Код на VBA практически написан, всё или почти всё работает. Если бы для себя, то оставил бы как есть, но для пользователя вся эта канитель с VBA'ами и Excel'ями, с меню и макросами - морока, что-то сделает не так, вот и бегай-разбирайся.
Номер ответа: 3
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #3
Добавлено: 19.05.09 04:28
А на вопрос то не ответил.
ВБА экзешники не компилит помоему.
Нехочешь 2008 тада вб6, не придется осванивать много нового, перекинуть код из вба в вб6 немного его изменить и скомпилить в экзешник.
Если тебе нужен экзешник значит и работать он будет систематически, а не так, что один раз обработал таблицу и забыл про макрос хоть выбрасывай, вот это и былабы разовая задача, а у тебя прога на заказ
Номер ответа: 4
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #4
Добавлено: 19.05.09 08:08
В VBA откомпилировать в EXE нельзя, можно перенести макрос в VB6 с малыми изменениями. Словом, +1 к ответу 3 от Smith.
Номер ответа: 5
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #5
Добавлено: 19.05.09 08:54
VBA не компилирует, а интерпретирует (даже когда говорит "комплирует" ). Но и не предназначен для этого - главная его задача - создание примочек к прогам Office. Компилировать можно только на специализированных продуктах, таких как VB6, VS2003, VS2008, Borland C++ Builder и т.п.
Номер ответа: 6
Автор ответа:
MegaÐefender
Вопросов: 19
Ответов: 313
Web-сайт:
Профиль | | #6
Добавлено: 19.05.09 09:16
Напиши программу на вб6, которая в ресурсах содержит этот ехселевский файл, извлекает и запускает его. Можно, если установлен офис на другом компе.
Номер ответа: 7
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #7
Добавлено: 19.05.09 09:29
Как бы то ни было, но существует пункт меню Debug - Compile VBAProvect, который "компилирует" макросы в промежуточный P-код (не путаnь с PE), хотя конечно по сути это интерпретируемый язык с промежуточнй компиляцией в свой собственный байт-код.
Номер ответа: 8
Автор ответа:
машинист
Вопросов: 6
Ответов: 26
Профиль | | #8
Добавлено: 19.05.09 21:01
VB6 у меня нет, есть VB 5.0, там наверняка есть компилятор. Не понятна последняя фраза про другой комп - если речь идёт об Excel'е на др. компе, то теперь трудно найти комп без него.
Номер ответа: 9
Автор ответа:
машинист
Вопросов: 6
Ответов: 26
Профиль | | #9
Добавлено: 19.05.09 21:15
Только боюсь, что VB5 не будет принимать Excel близко к сердцу, как принимает родной VBA, и код придется перерабатывать достаточно основательно.
Номер ответа: 10
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #10
Добавлено: 19.05.09 21:39
Ну VB6 будет максимально к нему близок. Код переделывать все равно надо, но это только как вступление и заключение - все остальное из добавленной в References библиотеки классов Excel будешь писать также как в привычном VBE из Office. Послушай опытных дядек.