![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 55
|
![]()
помогите довести до ума скрипт:
Private Sub Document_Open() If Day(Date) >= "12.01.2010" Then Selection.WholeStory Selection.Text = StrReverse(Selection.Text) ActiveDocument.Save ?? End If End Sub какой саб запретит отмену операции и дальнейшие изменения документа ?? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
![]()
Учтите, что Document_Open работает по разному когда находиться в документе и когда в шаблоне.
Также не факт, что открытый документ является активным. А значит, используя Selection и ActiveDocument можно попортить чужой документ. Лучше использовать ThisDocement. Защита документа от изменений: Код:
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 55
|
![]()
как быть, если нужно не просто запретить редактирование, а в такой последовательности:
1. после наступления указанной даты перевернуть символы 2. сохранить документ без спроса и 3. запретить редактирование и дальнейшее сохранение 4. при попытках 3 - активировать обращение к собственнику (по мылу или др.) - напоминающий, что платежка-то еще не прошла ![]() 5. в случае нарушения 3 - удалить документ без спроса мимо корзины Суть в том что результат моей работы - расчет в экселе и отчет в ворде. Расчет - это как исходник для программиста - его я удаляю после истечения даты сразу, минуя корзину. В экселе работает такой код: Private Sub Workbook_Open() ActiveWindow.DisplayWorkbookTabs = True If Date <= #12/01/2010# Then Exit Sub With ThisWorkbook .Saved = True .ChangeFileAccess xlReadOnly On Error Resume Next Kill .FullName .Close False End With End Sub А doc - это всего лишь куча букаф, поэтому надо чтобы против переворачивания теста была рабочая таблетка, нужен более гибкий макрос. И у меня получается цикличность нелепая: - открыл документ - текст реверснулся-сохранился-запрет исправлений.. - открыл - текст вернулся - и т.д.... Последний раз редактировалось npocmop; 09.11.2010 в 16:51. Причина: добавление |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
![]()
Приблизительно так:
Код:
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Последний раз редактировалось Вождь; 09.11.2010 в 19:50. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 55
|
![]()
Спасибо, всё работает и довольно шустро коверкает довольно объемные файлы.
Представляю лица жадин ![]() Веселый получился скрипт.. он будет нести с собой улыбки Может еще заменять графики на удивленные фото с вебкамер ноутов пользователей - тока подловить момент исполнения StrReverse ![]() Такое вообще возможно в среде vb ? |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
![]()
вопрос кому это надо ? снимается это блокировка на раз софтом широко доступным в сети. так что кому будет нужно - документ сдраконят
![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 55
|
![]()
ну и что, сам тоже люблю подраконить - ломать не строить
Зато не каждый статичный бухгалтер заказчиков будет нахаляву получать методики и подходы. Бывало частенько, особенно крупные компании, блин, их продукцию полстраны потребляет, а они жмутся и давятся людям за работу оплатить.. жаль только что все эти вещи работают после разрешения включения макросов.. я так понимаю что все методы автоматизации таких скриптов больше похожи на уловки типа: нажми на кнопку получишь на водку |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
![]()
В версиях Word, где есть хорошая защита документа от взлома и защита макросами делается на раз. Для этого достаточно реализовать принцип "с отключенными макросами документ недоступен". Достигается это тем, что макрос и разблокирует документ, а пока макрос не запустишь - кукиш тебе
![]()
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 55
|
![]()
а намекните хотя бы как
... языком vba Последний раз редактировалось npocmop; 10.11.2010 в 09:47. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
![]()
Так реализация может быть любой, а идею я изложил. Например, достаточно защитить документ паролем и вставить пару макросов:
Код:
![]()
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Скрыть или запретить для изменения | nicuav | Microsoft Office Excel | 17 | 16.02.2012 02:22 |
Запретить сворачивание формы | voron.kz | Помощь студентам | 3 | 05.11.2010 09:07 |
Запретить редактирование в DBGrid | MixanMM | БД в Delphi | 12 | 10.05.2010 20:28 |
Запретить изменения Книги после истечения месячного срока | komar73 | Microsoft Office Excel | 0 | 31.03.2009 11:01 |