Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: VBA MS Office

Программирования для MS Office кроме ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ПРИ КОПИРОВАНИИ ЛИСТА В НОВУЮ КНИГУ ХОЧУ ЧТО ВМЕСТЕ С НИМ КОПИРОВАЛИСЬ ВСЕ МОДУЛИ
 
 автор: DN   (30.11.-1 в 00:00)
 
 

ПРИ КОПИРОВАНИИ ЛИСТА В НОВУЮ КНИГУ ХОЧУ ЧТО ВМЕСТЕ С НИМ (ЛИСТОМ)КОПИРОВАЛИСЬ ВСЕ МОДУЛИ С ПРОЦЕДУРАМИ ИЗ СТАРОЙ КНИГИ.
Дайте кто-нибудь процедуру, пожалуйста. Очень надо.

  Ответить  
 
 автор: pashulka   (30.11.-1 в 00:00)
 
 

Re: ПРИ КОПИРОВАНИИ ЛИСТА В НОВУЮ КНИГУ ХОЧУ ЧТО ВМЕСТЕ С НИМ КОПИРОВАЛИСЬ ВСЕ МОДУЛИ Если новая книга создаётся путём копирования отдельного взятого рабочего листа, т.е. Worksheets(1).Copy, то вместо копирования с последующим экспортом и импортом всех стандартных модулей, можно сделать следующее : создать копию всей рабочей книги, а затем удалить все ненужные листы.

Что же касается импорта всех стандартных модулей во вновьсозданную книгу, то это можно осуществить например, так :

iTempPath = Environ("Temp") & ""

With Workbooks.Add(xlWBATWorksheet).VBProject.VBComponents
For Each iVBComponent In ThisWorkbook.VBProject.VBComponents
If iVBComponent.Type = 1 Then
iModuleName = iTempPath & iVBComponent.Name
iVBComponent.Export FileName:=iModuleName
.Import FileName:=iModuleName: Kill iModuleName
End If
Next
End With

Примечание : начиная с версии MS Excel XP для осуществления подобных манипуляций необходимо предварительно в меню Сервис выбрать пункт Макросы и команду Безопасность. Затем выделить закладку Надёжные источники и установить "флажок" Доверять доступ к Visual Basic Project

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList