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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2011, 07:44   #1
Daren
Пользователь
 
Регистрация: 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.
Daren вне форума Ответить с цитированием
Старый 05.04.2011, 08:23   #2
Daren
Пользователь
 
Регистрация: 24.01.2011
Сообщений: 14
По умолчанию

блин неужели придется копировать текущую книгу и удалять оттуда ненужную другим пользователям инфо, макросы и листы..
Daren вне форума Ответить с цитированием
Старый 05.04.2011, 10:54   #3
Daren
Пользователь
 
Регистрация: 24.01.2011
Сообщений: 14
По умолчанию

Народ может у кого есть похожие решения экспорта в workbook_open() ?
вся загвоздка из-за защиты множества документов который формирует исходный файл...по решению файл сам себя копирует в другое место удаляет лишние листы и возвращается к первоначальной книге , и все заного по кругу кака получается )))
Вложения
Тип файла: rar Plan.rar (1.82 Мб, 50 просмотров)
Daren вне форума Ответить с цитированием
Старый 05.04.2011, 12:59   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
по решению файл сам себя копирует в другое место удаляет лишние листы и возвращается к первоначальной книге
Файл не смотрел, но, на мой взгляд, вы сильно всё усложняете.

Я в таких случаях использую один из следующих вариантов:
1) рядом с файлом программы хранится файл-шаблон Excel
Надо создать новый файл - делаем копию файла-шаблона (в котором нужные листы с шапками, формулы, макросы и пр.), и наполняем этот файл данными
2) в файл программы добавляю несколько скрытых листов-шаблонов (возможно, с макросами). При необходимости создания нового файла - копирую первый из этих листов (при этом создаётся новая книга), а потом остальные листы копирую в созданную копированием первого листа книгу.

PS: Создавать много документов, каждый из которых содержит один и тот же макрос, - не совсем правильно. Имеет смысл поискать другие решения.
EducatedFool вне форума Ответить с цитированием
Старый 05.04.2011, 13:27   #5
Daren
Пользователь
 
Регистрация: 24.01.2011
Сообщений: 14
По умолчанию

Ну спасибо, любой из вариантов мне подойдет...респект )
Daren вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как скопировать лист в новую книгу 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