Форум программистов  
Главная  |  Правила форума  |  Исходники Delphi  |  Основы Delphi  |  Блог программистов  |  Рассылка  |  Повторная активизация e-mail  | 

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


Ответ
 
Опции темы
Старый 26.10.2012, 21:06   #1
devf
Пользователь
 
Регистрация: 14.01.2012
Сообщений: 17
Репутация: 10
По умолчанию Как сделать чтобы макрос всегда испонялся?

Здравствуйте!
Есть макросы на защиту ячеек от копирования, вставки, редактирования и т.д.
Все работает ок. Но при открытии, MS Excel спрашивает - отключить ли макросы?
И если подтверждаешь "Да", то вся защита пропадает.
Просто, мучился очень много времени, для составления отчета за год, все делал вручную, а теперь при пересылке файла другому челу, он отключив макросы, присвоит работу себе. А он точно присвоит -обидно, да!?
Посоветуйте, как чтобы при открытии excel макросы всегда срабатывали или чтобы пока не включили макроы выскакивало сообщение, что надо их включить , а то хрен что увидишь. В приложенном файле - как избавитья от редактирования, но это пока не отключили макросы.
Вложения
Тип файла: zip macros_olvest.zip (8.2 Кб, 6 просмотров)
devf вне форума   Ответить с цитированием
Старый 26.10.2012, 21:12   #2
Serge 007
Профессионал
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Адрес: excelworld
Сообщений: 1,327
Репутация: 191
По умолчанию

Цитата:
Сообщение от devf Посмотреть сообщение
...теперь при пересылке файла другому челу, он отключив макросы, присвоит работу себе...
Верно. И сделать тут ничего нельзя
Можно защитить проект паролем, но его можно вскрыть
Так что - вариантов нет...

Цитата:
Сообщение от devf Посмотреть сообщение
...как чтобы при открытии excel макросы всегда срабатывали...
Никак
__________________
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://money.yandex.ru: 41001419691823
Serge 007 вне форума   Ответить с цитированием
Старый 26.10.2012, 22:05   #3
Rififi
Профессионал
 
Регистрация: 19.08.2009
Сообщений: 2,072
Репутация: 764
По умолчанию

devf

Как сделать чтобы макрос всегда испонялся?

Никак.

Прежде всего надо понять, что Excel не предназначен для хранения конфиденциальных данных.
Rififi вне форума   Ответить с цитированием
Старый 26.10.2012, 22:39   #4
devf
Пользователь
 
Регистрация: 14.01.2012
Сообщений: 17
Репутация: 10
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
devf

Как сделать чтобы макрос всегда испонялся?

Никак.

Прежде всего надо понять, что Excel не предназначен для хранения конфиденциальных данных.
Все-таки что то получилось! Пока пользователь не запустит макрос - он ничего не увидит. А запустив его - он не сможет ничего редактировать. Что мне и надо было. Конфедициальные данные в Excel не храню, просто хотел защитить свою работу, которую требуют делать в Excel.
Вложения
Тип файла: zip example.zip (13.9 Кб, 16 просмотров)
devf вне форума   Ответить с цитированием
Старый 27.10.2012, 23:29   #5
alex77755
Участник клуба
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Адрес: Украина Павлоград
Сообщений: 617
Репутация: 64
По умолчанию

Крутая защита!!
Открыл книгу - да ничего не редактируется.
Но Alt+F11 и я в редакторе.
Пишу код:
Код:

Sub куку()
ActiveSheet.Unprotect
EnableAllClear
End Sub

Запускаю!! И всё!!!
__________________
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума   Ответить с цитированием
Старый 27.10.2012, 23:32   #6
alex77755
Участник клуба
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Адрес: Украина Павлоград
Сообщений: 617
Репутация: 64
По умолчанию

Цитата:
Как сделать чтобы макрос всегда испонялся?
Никак.
А если так:?
Цитата:
Макросы работают, если запускать с помощью скрипта vbs, например такого:
Код:

Option Explicit
Dim objFSO, objExcel, ExcelPath, wb

Set objFSO = CreateObject("Scripting.FileSystemO bject")
ExcelPath = objFSO.GetParentFolderName(WScript. ScriptFullName)
Set objExcel = CreateObject("Excel.Application")
Set wb = objExcel.Workbooks.Open (ExcelPath & "\CompareFiles.Find.xls")
objExcel.Visible = True
Set objExcel = Nothing

В этом экземпляре экселя в этом файле макросы будут работать.
__________________
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума   Ответить с цитированием
Старый 27.10.2012, 23:36   #7
alex77755
Участник клуба
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Адрес: Украина Павлоград
Сообщений: 617
Репутация: 64
По умолчанию

Что бы не заглядывали и не редактировали макросы используй "Protect VBA"
__________________
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума   Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать, чтобы в dbgrid всегда была прокрутка? leklerk Общие вопросы Delphi 7 23.04.2012 05:11
Как сделать чтобы фокус всегда был на мой форме gufon Общие вопросы Delphi 1 01.06.2011 11:45
Как сделать, чтобы слово пирамида всегда писалось с Заглавной буквой asale Microsoft Office Word 3 22.01.2009 20:51
Как сделать чтобы новые строки всегда были в области видимости? neugadal Microsoft Office Excel 9 06.09.2008 11:23
Как сделать так чтобы окно формы всегда было поверх остальных окон? HelloZAPOR Общие вопросы Delphi 5 23.07.2007 07:05




00:13.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.

Forex с Admiral Markets — это надежно


Работа на Forex с 2000 года. Очное и дистанционное обучение. Выгодные условия.
магазин горящих туров


более 1000 горящих предложений ежедневно
Бэбиблог - соц сеть для будущих мам


RusProfile.ru


Справочник российских юридических лиц и организаций.