Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2009, 15:46   #1
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию Первод кода макросов на язык програмирования

Вот слепил я файл Excel в котром много маросов которые работают с абсолютными значениями получаемыми по DDE, со значениями ипортируемыми из текстовых файлов, с результатами работы Excel формул. Есть ли какой то доступный метод сконверировать все это в код языка програмирования, что бы получилась обычная прога работающая без Ecxel или это надо росто писать новую прогу?
zander вне форума Ответить с цитированием
Старый 19.02.2009, 17:01   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Обычную программу (исполняемый файл с расширением exe) сделать можно, вот только совсем без Excel она работать не будет (запускать Excel не требуется, но он обязательно должен быть установлен на компьютере)
Если Вы ранее не работали с VisuaBasic (а делать программу в данном случае проще всего именно на нём) - то лучше с этого проекта не начинать (времени уйдёт очень много)

В Вашем случае проще поступить несколько иначе - оставить всю программу в книге Excel. (какая разница - щелкать на ярлыке файла с расширением exe или xls)
При запуске книги интерфейс Excel можно скрыть, ну и запустить нужные макросы (таймеры, и всё такое)
По каким-либо определённым событиям макрос сможет отображать графическую оболочку Excel, или просто выводить сообщения.
Управление (запуск/останов таймера) можно сделать при помощи горячих клавиш.
Да и времени на реализацию такого варианта уйдёт в десятки раз меньше.
EducatedFool вне форума Ответить с цитированием
Старый 19.02.2009, 17:44   #3
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
В Вашем случае проще поступить несколько иначе - оставить всю программу в книге Excel. (какая разница - щелкать на ярлыке файла с расширением exe или xls)
При запуске книги интерфейс Excel можно скрыть, ну и запустить нужные макросы (таймеры, и всё такое)
По каким-либо определённым событиям макрос сможет отображать графическую оболочку Excel, или просто выводить сообщения.
Управление (запуск/останов таймера) можно сделать при помощи горячих клавиш.
Да и времени на реализацию такого варианта уйдёт в десятки раз меньше.
Основная проблема в том, что одинаковые файлы Excel работают паралельно, обрабатывая параллельные, но незвисимые процессы и если сбой в одном макросе одного файла, отрубаются все параллельные процессы
zander вне форума Ответить с цитированием
Старый 19.02.2009, 17:52   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Совсем необязательно открывать все файлы в одном приложении Excel.

Запистите для каждого файла по копии приложения excel - тогда все процессы будут отслеживаться независимо.

Вроде есть какой-то параметр командной строки, который открывает файл в новой копии Excel, а не отправляет файл в уже открытое приложение...

У меня каждая запущенная копия Excel отъедает примерно 10 - 25 Мб оперативки, так что на современном компе легко запустятся десятки копий приложения одновременно.

Цитата:
и если сбой в одном макросе одного файла
Так Вы пишите макросы так, чтобы не было сбоев
А если сбои будут иметь место, так все Ваши процессы вырубятся если не вместе, так один за другим. Разница-то какая?
EducatedFool вне форума Ответить с цитированием
Старый 19.02.2009, 21:59   #5
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию

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


Так Вы пишите макросы так, чтобы не было сбоев
А если сбои будут иметь место, так все Ваши процессы вырубятся если не вместе, так один за другим. Разница-то какая?
Пока еще не разобралсо Мне кажется причина сбоя в конфликте приложений при одновременном обращении к txt файлу Макроса и DDE источника...
А вот с Копией Excel это классно - работает!

Последний раз редактировалось zander; 19.02.2009 в 22:34.
zander вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
первод данных из дбГрид в СтрингГрид! ANT35 Помощь студентам 3 19.10.2008 21:08
Переведите кусок кода на понятный язык НЕпрограммисту grenkoff Помощь студентам 4 11.07.2008 17:33
Посоветуйте какие програмы лучше скачать для програмирования Spellsinger Свободное общение 3 17.12.2007 20:33
Выдернуть куски кода из html-кода trafbite Помощь студентам 7 18.08.2007 13:51