|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.04.2011, 07:44 | #1 |
Пользователь
Регистрация: 24.01.2011
Сообщений: 14
|
Перенос макроса в новую книгу в Workbook_open()
Привет всем! чтото не могу сообразить.. копируем код с первоначальной книги содержащийся в разделе "ЭтаКнига" в новую книгу, и все казалось бы ОК, но 2 варианта событий:
..... Set wbcodemod1 = ThisWorkbook.VBProject.VBComponents ("ЭтаКнига").CodeModule ActiveSheet.Move Set КнигаТП = ActiveWorkbook Set wbcodemod2 =КнигаТП.VBProject.VBComponents("Эт аКнига").CodeModule wbcodemod2.insertlines 1, wbcodemod1.Lines(1, wbcodemod1.countoflines) Application.DisplayAlerts = False ' чтобы не орало что перезаписываем ActiveWorkbook.SaveAs Filename:= _ "\\krsk-dc\profiles$\terentiev-an\Рабочий стол\Книга5.xlsm", FileFormat:= _ xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False ....... Итак после сохранения смотрим и код в новой книге появился какой и нужно на уровне открытия книги. нажимаем руками сохранить и закрыть, открываем- код на месте! если сохраняем программно и закрываем кода нет..балин пробовал равнозначные : ..... ActiveWorkbook.save ActiveWorkbook.close .... и через переменную .... КнигаТП.save КнигаТП.close .... вопрос с в целом: код после ручного сохранения и закрытия остается..программно - нифига.. Последний раз редактировалось Daren; 05.04.2011 в 08:27. |
05.04.2011, 08:23 | #2 |
Пользователь
Регистрация: 24.01.2011
Сообщений: 14
|
блин неужели придется копировать текущую книгу и удалять оттуда ненужную другим пользователям инфо, макросы и листы..
|
05.04.2011, 10:54 | #3 |
Пользователь
Регистрация: 24.01.2011
Сообщений: 14
|
Народ может у кого есть похожие решения экспорта в workbook_open() ?
вся загвоздка из-за защиты множества документов который формирует исходный файл...по решению файл сам себя копирует в другое место удаляет лишние листы и возвращается к первоначальной книге , и все заного по кругу кака получается ))) |
05.04.2011, 12:59 | #4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Я в таких случаях использую один из следующих вариантов: 1) рядом с файлом программы хранится файл-шаблон Excel Надо создать новый файл - делаем копию файла-шаблона (в котором нужные листы с шапками, формулы, макросы и пр.), и наполняем этот файл данными 2) в файл программы добавляю несколько скрытых листов-шаблонов (возможно, с макросами). При необходимости создания нового файла - копирую первый из этих листов (при этом создаётся новая книга), а потом остальные листы копирую в созданную копированием первого листа книгу. PS: Создавать много документов, каждый из которых содержит один и тот же макрос, - не совсем правильно. Имеет смысл поискать другие решения. |
|
05.04.2011, 13:27 | #5 |
Пользователь
Регистрация: 24.01.2011
Сообщений: 14
|
Ну спасибо, любой из вариантов мне подойдет...респект )
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как скопировать лист в новую книгу | m-1 | Microsoft Office Excel | 4 | 17.03.2011 18:26 |
Создавать новую книгу в формате 2007 | alebed | Microsoft Office Excel | 0 | 01.09.2010 17:12 |
Несовпадения в новую книгу. | iamhelen | Microsoft Office Excel | 4 | 27.04.2010 16:47 |
Копирование диаграмм в новую книгу | juliaowen | Microsoft Office Excel | 1 | 30.10.2009 11:06 |
Перенести в новую книгу отмеченые строки | Rom1k06 | Microsoft Office Excel | 11 | 31.07.2008 12:22 |