Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Удаление макропрограмм из книги

464
07 июля 2003 года
WildAn
147 / / 19.05.2003
Доброго время суток народ.
А подскажите вот такую вещь.
Дело в экселе.
Есть книга с макросами какими-то. Мне нужно сделать точную копию этой книги (с другим именем предположим), но без макросов. Как это можно сделать?
Растолкуйте мне бестолковому :D
258
07 июля 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by WildAn
Доброго время суток народ.
А подскажите вот такую вещь.
Дело в экселе.
Есть книга с макросами какими-то. Мне нужно сделать точную копию этой книги (с другим именем предположим), но без макросов. Как это можно сделать?
Растолкуйте мне бестолковому :D



Тут вопрос - где у тебя твои макросы записаны: в модуле книги или в модуле листов книги?

Если у тебя (обычно это так) в модуле книги, то можно предложить такой вариант:
1. создать новую книгу.
2. удалить в ней пустые листы.
3. Скопировать/переместить листы из нужной книги.
4. сохранить под другим названием.

Несколько громозко, но пока ничего другого в голову не пришло.
Есть еще такой объект - VBPROJECT. по идее можно получить доступ к проекту с модулями, но справки по нему у меня нет (видно не прикладывают в Office) и обращаться к нему напрямую, VBA че-то не дает...

267
07 июля 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by SergeySV


Тут вопрос - где у тебя твои макросы записаны: в модуле книги или в модуле листов книги?

Если у тебя (обычно это так) в модуле книги, то можно предложить такой вариант:
1. создать новую книгу.
2. удалить в ней пустые листы.
3. Скопировать/переместить листы из нужной книги.
4. сохранить под другим названием.

Несколько громозко, но пока ничего другого в голову не пришло.
Есть еще такой объект - VBPROJECT. по идее можно получить доступ к проекту с модулями, но справки по нему у меня нет (видно не прикладывают в Office) и обращаться к нему напрямую, VBA че-то не дает...




Предлагаю такой способ.
1. Включаешь защиту от макровирусов.
2. Открываешь книгу. Эксель спросит - туту, типа какие-то макросы, может ну их на фиг? Отвечаешь - да, открываем без макросов.
3. Файл откроется без макросов в режиме "только для чтения". Сохраняешь под другим именем и все.

464
08 июля 2003 года
WildAn
147 / / 19.05.2003
Цитата:
Originally posted by Cutty Sark



Предлагаю такой способ.
1. Включаешь защиту от макровирусов.
2. Открываешь книгу. Эксель спросит - туту, типа какие-то макросы, может ну их на фиг? Отвечаешь - да, открываем без макросов.
3. Файл откроется без макросов в режиме "только для чтения". Сохраняешь под другим именем и все.


А программно такое можно сделать? Мне кажется, хлопотно это

258
08 июля 2003 года
SergeySV
1.5K / / 19.03.2003
Кстати можно еще и так сделать:
Workbooks.Open "C:\1.XLS", , , , , , , , , , , , , , xlExtractData - открывает только данные, правда при этом вылезает табличка ругательная, якобы файл был так сильно испорчен, что восстановлению не подлежит :), на которую приходится нажимать и потом видишь нормальный файл без макросов.
258
08 июля 2003 года
SergeySV
1.5K / / 19.03.2003
Прикольно, но можно сделать так:

Workbooks.Open "C:\1.XLS", , , , , , , , , , , , , , xlExtractData
Application.SendKeys ("~")
ActiveWorkbook.SaveAs "C:\2.XLS"

SendKeys - нужен для того чтобы закрыть противное окно(посылает нажатие клавиши Enter), ну а дальше файл уже можно сохранять под новым названием и все что душе угодно.
2.2K
09 июля 2003 года
USA-Lesh
50 / / 02.04.2003
Можно подключить библиотеку VBIDE и править содержимое проекта (макросов) как угодно програмно.
267
09 июля 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by SergeySV
Прикольно, но можно сделать так:

Workbooks.Open "C:\1.XLS", , , , , , , , , , , , , , xlExtractData
Application.SendKeys ("~")
ActiveWorkbook.SaveAs "C:\2.XLS"

SendKeys - нужен для того чтобы закрыть противное окно(посылает нажатие клавиши Enter), ну а дальше файл уже можно сохранять под новым названием и все что душе угодно.



Наверное, можно сделать так:
Application.DisplayAlerts = False
Workbooks.Open "C:\1.XLS", ...
Application.DisplayAlerts = True

Попробовать не могу - у меня 97-й Эксель.

258
09 июля 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Cutty Sark


Наверное, можно сделать так:
Application.DisplayAlerts = False
Workbooks.Open "C:\1.XLS", ...
Application.DisplayAlerts = True

Попробовать не могу - у меня 97-й Эксель.



Это я попробывал в самом начале - не помогает (Xp Office), так что пришлось извращаться... :(:)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог