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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2010, 19:43   #1
petruha
Новичок
Джуниор
 
Регистрация: 13.03.2010
Сообщений: 4
По умолчанию Макрос, запускающий макрос из другого закрытого файла

Здравствуйте.
Использую Office 2007.
Поискал на форуме, не нашел ответа.
Опишу подробно проблему.
Есть книга1, которая лежит в определенном месте.
В книге1 есть некоторый макрос.
Книга1 закрыта.

Есть книга2, в которой нужно реализовать макрос, который запускает макрос из книги1.
Простите меня, если вопрос тривиальный.

Кроме того, не подскажете как сохранить новую книгу с расширением, отличным от xls(xlsm к примеру)?
Собственно, делаю так:
Код:
book.SaveAs Filename : = "E/newbook.xls"
Вот тут мне VB не разрешает поменять xls на xlsm.

Прошу вас подсказать решение.
petruha вне форума Ответить с цитированием
Старый 13.03.2010, 19:49   #2
Alex-roz
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 15
По умолчанию

По второму вопросу:

Ch_Dir = "C:\" 'Путь для сохранения файлов
file_name = "имя_файла.xlsx"

ActiveWorkbook.SaveAs Filename:=Ch_Dir & file_name, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Alex
Alex-roz вне форума Ответить с цитированием
Старый 13.03.2010, 20:01   #3
petruha
Новичок
Джуниор
 
Регистрация: 13.03.2010
Сообщений: 4
По умолчанию

Большое спасибо!
petruha вне форума Ответить с цитированием
Старый 13.03.2010, 20:17   #4
Alex-roz
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 15
По умолчанию

Если формат другой, это надо указать:

Например, для xlsm - FileFormat:= xlOpenXMLWorkbookMacroEnabled
Alex
Alex-roz вне форума Ответить с цитированием
Старый 13.03.2010, 20:23   #5
petruha
Новичок
Джуниор
 
Регистрация: 13.03.2010
Сообщений: 4
По умолчанию

Да, я так и понял
petruha вне форума Ответить с цитированием
Старый 13.03.2010, 21:31   #6
petruha
Новичок
Джуниор
 
Регистрация: 13.03.2010
Сообщений: 4
По умолчанию

Может, немного неправильно написал.
Файл, тот в котором макрос, открывать можно.
Лучше с закрытым, конечно если это возможно.
petruha вне форума Ответить с цитированием
Старый 14.03.2010, 08:28   #7
Alex-roz
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 15
По умолчанию

А че будет выполнять макрос в закрытой книге? Обработка данных (ячеек или пр.) или какое-то отвлеченную задачу?
Если в макросе будут ссылки на объекты в закрытой книге, то (как мне кажется) задача несколько усложнится...
Alex
Alex-roz вне форума Ответить с цитированием
Старый 14.03.2010, 11:31   #8
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Вызвать макрос из другой книги можно так:
Код:
Sub Call_Macro_In_CloseBook()
Workbooks.Open ThisWorkbook.Path & "\Test.xls"
Application.Run "Test.xls!Module1.Test": Workbooks("Test.xls").Close True 'сохраняем изменения; False - не сохраняем
End Sub
Учитывая то, что для вызова макроса VBA в любом случае будет открывать книгу с макросом, то лучше сразу открыть и вызвать, а затем закрыть. Если в имени файла содержаться пробелы, то не забудьте ставить апостроф в методе Run:
Код:
Application.Run "'Test 1.xls'!Module1.Test"
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос постоянно обрабатывает события. При открытии другой книги макрос обрывается. Ples Microsoft Office Excel 8 17.12.2016 18:15
Макрос вставки файлов в листы-Необходимо изменить ниже приведённый макрос as-is Microsoft Office Excel 4 25.02.2010 07:51
Макрос для вызова файла! SStone Microsoft Office Excel 3 02.03.2009 19:58
Макрос по копированию данных из другого фаила Devourer12345 Microsoft Office Excel 30 17.07.2008 04:54