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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2011, 13:22   #1
kursant95
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 24
По умолчанию открытие нескольких книг одним макросом и закрытие книг другим макросом

как открыть одним макросом несколько книг и вернуться на основную книгу с которой производится открытие. Как открыть знаю, но как прописать чтоб возвращалось на основную?
еще один аспект если из несколько книг открыты то макрос который предназначен из закрывать при выполнении выдает ошибку, когда один из открытых файлов был закрыт вручную, т.е. макрос начинает работать, ищет по очереди что необходимо закрыть и если не находит хотя бы один из файлов то выдает ошибку, как это исправить?
Заранее благодарен!

Последний раз редактировалось kursant95; 27.01.2011 в 13:42. Причина: новые аспекты
kursant95 вне форума Ответить с цитированием
Старый 27.01.2011, 13:48   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
как прописать чтоб возвращалось на основную?
В простейшем случае, если небыли определены переменные для имен файлов
Код:
Windows("Основная.xls").Activate
Цитата:
выдает ошибку, как это исправить
Используйте
Код:
On Error Resume Next
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 27.01.2011, 14:12   #3
kursant95
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 24
По умолчанию

на открытие у меня такая запись:
Private Sub CommandButton1_Click()
Workbooks.Open "C:\Documents and Settings\мой\Рабочий стол\Книга планируемая.xls"
Workbooks.Open "C:\Documents and Settings\мой\Рабочий стол\Книга фактически.xls"
End Sub
куда ставить ту функцию?
на закрытие:
Sub закрыть()
'
' закрыть Макрос
' закрыть книги
'
' Сочетание клавиш: Ctrl+з
'
Windows("Книга фактически.xls").Activate
ActiveWindow.Close
Windows("Книга планируемая.xls").Activate
ActiveWindow.Close
End Sub
куда вторую?
kursant95 вне форума Ответить с цитированием
Старый 27.01.2011, 14:17   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

ThisWorkbook. Activate
Так не будет зависеть от имени.
Код:
Private Sub CommandButton1_Click()
Workbooks.Open "C:\Documents and Settings\мой\Рабочий стол\Книга планируемая.xls"
Workbooks.Open "C:\Documents and Settings\мой\Рабочий стол\Книга фактически.xls"
ThisWorkbook. Activate
End Sub

Sub закрыть()
' Сочетание клавиш: Ctrl+з
On Error Resume Next
Workbooks("Книга фактически.xls").Close False
Workbooks("Книга планируемая.xls").Close False
End Sub
После закрытия исходная книга станет активной.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 27.01.2011 в 14:20.
kuklp вне форума Ответить с цитированием
Старый 27.01.2011, 14:27   #5
kursant95
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 24
По умолчанию

Парни! огромное спасибо!
kursant95 вне форума Ответить с цитированием
Старый 27.01.2011, 16:34   #6
kursant95
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 24
По умолчанию стал выдавать ошибку

не подскажите что не верно? при закрытии выдает ошибку:
Private Sub CommandButton1_Click()
Workbooks("Карпов.xls").Close False
Workbooks("Селиванов.xls").Close False
Workbooks("Широков.xls").Close False
Workbooks("Реестр Селиванов.xls").Close False
Workbooks("Реестр Широков и Карпов.xls").Close False
Workbooks("Отчет по заявкам подразделений Карпов.xls").Close False
Workbooks("Отчет по заявкам подразделений Селиванов.xls").Close False
Workbooks("Отчет по заявкам подразделений Широков.xls").Close False
End Sub

Private Sub CommandButton4_Click()
Workbooks.Open "C:\Documents and Settings\мой\Рабочий стол\Еженедельные отчеты ИСС\21.01.11\присланные\Карпов.xls"
Workbooks.Open "C:\Documents and Settings\мой\Рабочий стол\Еженедельные отчеты ИСС\21.01.11\присланные\Селиванов.x ls"
Workbooks.Open "C:\Documents and Settings\мой\Рабочий стол\Еженедельные отчеты ИСС\21.01.11\присланные\Широков.xls "
ThisWorkbook.Activate
End Sub
kursant95 вне форума Ответить с цитированием
Старый 27.01.2011, 16:54   #7
kursant95
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 24
По умолчанию

все, ошибку нашел
kursant95 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одновременное соединение нескольких клиентов с одним сервером Lokos Работа с сетью в Delphi 0 25.10.2010 08:50
Открытие нескольких файлов ChEaTeR-abc Помощь студентам 6 15.07.2010 17:03
Объединение нескольких книг clop1000 Microsoft Office Excel 1 30.11.2009 09:10
Запустить несколько макросов в одним макросом Neo007 Microsoft Office Excel 2 16.01.2009 15:17