Добрый день. Excel 2003.
Что хочу:
Создавать 3 прайса xls, csv и csv по таймеру, не закрывая при этом другие открытые книги excel.
Что получил:
Всё работает как надо, за исключением того, что после последней строки макроса: Workbooks("Автоматика.xls").Close открывается новая "Книга4.xls", а если на момент выполнения макроса такая уже открыта, то "Книга5.xls" и т.д., в итоге после дня отсутствия за компьютером может быть открыто 20+ таких книг...
Как это делается:
Запуск по таймеру файла Автоматика.xls
Внутри макрос с автозапуском при открытии
Макрос 3 раза создаёт новую книгу, запускает 3 других макроса из personal.xls
Каждый новый макрос работает в новой книге, сохраняет результат в файл и закрывает книгу, остаётся после работы только открытая первоначальная книга
После выполнения всех строк макроса Автоматика.xls должна закрыть себя И закрывает, но открывается "Книга4.xls"
Вопрос: как закрывать текущую книгу так, чтобы новая книга не открывалас?
Текст макросов такой: (После выполнения строчки • открывается Книга4.xls)
Что хочу:
Создавать 3 прайса xls, csv и csv по таймеру, не закрывая при этом другие открытые книги excel.
Что получил:
Всё работает как надо, за исключением того, что после последней строки макроса: Workbooks("Автоматика.xls").Close открывается новая "Книга4.xls", а если на момент выполнения макроса такая уже открыта, то "Книга5.xls" и т.д., в итоге после дня отсутствия за компьютером может быть открыто 20+ таких книг...
Как это делается:
Запуск по таймеру файла Автоматика.xls
Внутри макрос с автозапуском при открытии
Макрос 3 раза создаёт новую книгу, запускает 3 других макроса из personal.xls
Каждый новый макрос работает в новой книге, сохраняет результат в файл и закрывает книгу, остаётся после работы только открытая первоначальная книга
После выполнения всех строк макроса Автоматика.xls должна закрыть себя И закрывает, но открывается "Книга4.xls"
Вопрос: как закрывать текущую книгу так, чтобы новая книга не открывалас?
Текст макросов такой: (После выполнения строчки • открывается Книга4.xls)
Код |
---|
Workbooks.Add Run "Personal.xls!Макрос1" <...Макрос1 начинается...> <...сам макрос...> ActiveWorkbook.SaveAs FileName:= "путь\имя.xls", FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False ActiveWindow.Close <...Макрос1 закончился...> Workbooks.Add Run "Personal.xls!Макрос2" <...Макрос2 начинается...> FileName = "путь\имя2.csv" Open FileName For Output As #1 ... Close #1 Close ActiveWindow.Close <...Макрос2 закончился...> Workbooks.Add Run "Personal.xls!Макрос3" <...Макрос3 начинается...> FileName = "путь\имя3.csv" Open FileName For Output As #1 Close #1 Close ActiveWindow.Close <...Макрос3 закончился...> sName = "Автоматика.xls" • Workbooks(sName).Close |