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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2012, 14:37   #1
Матраскин
 
Регистрация: 17.07.2012
Сообщений: 5
По умолчанию Создание макроса в Excel 2007

Здравствуйте!
Есть программа которая формирует документы в Exсel 2007, из которого уже и происходит последующая обработка документа и его распечатка на принтере. Я написал макрос по этой обработке, но никак не могу заставить excel его выполнять в последующих документах. Т.е. ,например, получил документ - написал макрос - обработал с помощью него документ - сохранил документ с макросом на сетевом диске. При создании из программы нового документа мне нужно как-то воспользоваться уже созданным макросом, и вот это дело я уже никак не могу осилить. Подскажите, что я не так делаю и как правильно нужно сделать.
Матраскин вне форума Ответить с цитированием
Старый 17.07.2012, 15:11   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Откройте вручную документ с макросом и воспользуйтесь.
Или откройте его программно.
Т.е. я полагаю, что эта "Есть программа" создаёт новый процесс Экселя, где нет ни personal.xls, ни надстроек. Так что варианта 2 - или открывать в этом процессе файл/надстройку вручную/скриптом, или как-то научить это делать "Есть программа".
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 17.07.2012 в 15:13.
Hugo121 вне форума Ответить с цитированием
Старый 17.07.2012, 17:08   #3
Ken_Katsuro
Новичок
Джуниор
 
Регистрация: 17.07.2012
Сообщений: 1
По умолчанию

у Excel много возможностей вообще?
Ken_Katsuro вне форума Ответить с цитированием
Старый 17.07.2012, 17:17   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

А зачем Вы интересуетесь?
За пивом бегать не умеет...
Но на пиво может принести
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 18.07.2012, 06:47   #5
Матраскин
 
Регистрация: 17.07.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Т.е. я полагаю, что эта "Есть программа" создаёт новый процесс Экселя, где нет ни personal.xls, ни надстроек.
personal.xls точно нет, а вот про надстройки не могу сказать ... попробую погуглить, что за надстройки и как их подключить.

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
... или как-то научить это делать "Есть программа".
Этот вариант не получилось реализовать, так как там сложная процедура внесения изменений в софт, и у меня не хватает полномочий для их реализации. А у кого есть такие полномочия - не считают нужным реализовать их. Вот и мучаюсь сам с вашей помощью.
Матраскин вне форума Ответить с цитированием
Старый 18.07.2012, 08:18   #6
Матраскин
 
Регистрация: 17.07.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Матраскин Посмотреть сообщение
personal.xls точно нет, а вот про надстройки не могу сказать ... попробую погуглить, что за надстройки и как их подключить.
Чтото про надстрйки я погарячился ... шибко сложно для меня. Получается, что макрос никак не запустить, кроме как предварительно не открыв ранее созданный документ excel с нужным макросом?
Матраскин вне форума Ответить с цитированием
Старый 18.07.2012, 10:48   #7
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Получается да. Из сторонних приложениий Excel, как правило, запускается в режиме автоматизации через CreateObject("Excel.Application"). При этом создается отдельный объект Excel без загрузки надстроек, кроме COM-надстроек. Получается, что осуществить желаемое Вы можете только создав свою COM-надстройку и подключив её к Excel. Она тогда должна подключаться при любом запуске Excel.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 19.07.2012, 08:03   #8
Матраскин
 
Регистрация: 17.07.2012
Сообщений: 5
По умолчанию

Сделал в excel 2007 следующее:
1. Открыл документ с макросом и создал еще один пустой документ.
2. В пустом документе зашел в настройку панели быстрого доступа.
3. В меню Выбрать команды из: выбрал пункт - макросы.
4. Появившейся макрос добавил в панель быстрого доступа.
5. Теперь при нажатии на кнопку этого макроса открываеться документ с макросом и макрос выполняеться.
6. Прописал в конце макроса 2 команды и теперь после выполнения макроса документ с макросом автоматически закрываеться:
Windows("test.xlsm").Activate
ActiveWindow.Close SaveChanges:=False
Но возникла одна проблемка, которую чтото у меня не получаеться решить. На своем компутере (win7) у меня все работает, а вот у пользователя (XP) почемуто макрос не выполняеться, выдается окно с ошибкой 400. Хотя в настройках системы безопасности и на моем и на пользовательском компутере стоит блокировать с предупреждением (ставил - разрешить макросы - не помогло). Может знает кто, как решаеться данная проблема?

Последний раз редактировалось Матраскин; 19.07.2012 в 11:26.
Матраскин вне форума Ответить с цитированием
Старый 24.07.2012, 08:41   #9
Матраскин
 
Регистрация: 17.07.2012
Сообщений: 5
По умолчанию

В общем создал макрос в личной книге макросов. Она загружаеться при создании документа из стороннего приложения. Вывел кнопку на панель быстрого доступа. Ну и отключил блокировку макросов (конечно брешь в защите, но что не сдлаешь ради удобства любимых пользователей)
Матраскин вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание макроса в EXCEL для копирования AKrupkin Microsoft Office Excel 10 17.09.2014 01:57
создание макроса в Excel studentki Microsoft Office Excel 12 11.07.2012 13:08
Импорт макроса с 2010 на 2007 ACrisefor Microsoft Office Excel 0 29.09.2011 23:33
Удаление ленты в 2007 excel и создание своего меню Raikhman Microsoft Office Excel 2 19.10.2010 00:18
Настраиваемая кнопка макроса в Excel 2007 ZORRO2005 Microsoft Office Excel 0 24.11.2008 00:42