|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.02.2009, 17:02 | #1 |
Регистрация: 26.02.2009
Сообщений: 7
|
Нужна помощь по макросу VBA
Добрый день, друзья!
Помогиите, пожалуйста. Есть макрос, который при создания документа с шаблона открывает пользовательскую форму. Форма заполняется, жмется кнопка-на основе той формы редактируется документ. Проблема в том, что документ надо автоматически запаролить или зашифровать, чтобы после его закрытия\сохранения он был уже запаролен. Можно ли в самом макросе прописать процедуры паролирования? Например, чтобы при закрытии ActiveDocument вызывалась форма ввода пароля и документ сохранялся запароленным для последующего открытия? Если так нельзя, то какие еще могут быть способы? Спасибо! |
26.02.2009, 17:41 | #2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Ну вот на скорую руку. Создает документ, запрашивает для него пароль, и сохраняет. Все. Более подробно для вашего случая можно написать, если видеть исходный макрос.
Код:
Лучше день потерять — потом за пять минут долететь!©
|
26.02.2009, 18:00 | #3 |
Регистрация: 26.02.2009
Сообщений: 7
|
Спасибо! Постараюсь пояснить.
Весь макрос, практически такой: Private Sub CommandButton_Click() бла бла бла End Sub плюс модуль вызова формы: Sub AutoNew() Dim oF As Myform Set oF = New Myform oF.Show Set oF = Nothing End Sub Нужно, чтобы после выполнения всех процудур после нажатия на кнопку выполнялось автоматическое сохранение и задача пароля. Т.е. алгоритм: 1. Вызываем создание документа из шаблона 2. Открывается форма 3. Заполнение полей формы(вручную). Тут же можно сразу поле с паролем добавить. 4. Жмем кнопку "Заполнить". После нажатия на нее из полей формы по закладкам в шаблоне вставляется текст. 5. Сохранение документа с заданым паролем ЛИБО вызов формы для сохранения документа и ввода пароля. Суть в том, чтобы пользователь не мог сохранить документ незапароленым, т.е. ввод пароля должен быть принудительным. Надеюсь, смог объяснить. Как тогда будет вглядеть блок? И куда его нужно вставлять в коде? |
26.02.2009, 18:19 | #4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
После того, как вы заполнили все свои закладки, что происходит? Форма просто закрывается? Тогда нужно добавить код для сохранения документа. Например, такой. Если пароль не указать, то документ просто закроется без сохранения изменений, и придется все начинать заново. Если пароль укажут, то появится диалог сохранения файла и затем документ закроется. От диалога можно избавится, если перед методом Close добавить метод SaveAs и указать точное имя файла. В этом случае файл сохранится и закроется без всяких диалогов.
Код:
Лучше день потерять — потом за пять минут долететь!©
|
26.02.2009, 19:03 | #5 |
Регистрация: 26.02.2009
Сообщений: 7
|
Вот сам шаблон с тим макросом
После заполнения форма закрывается, остается заполненный данными документ. Нужно, чтобы после закрытия формы уже запароленный документ сохранился куда-нибудь по умолчанию(напр. рабочий стол) и остался открым для чтения перед пользователем(то в идеале, но как вариант, чтобы документ после сохранения и шифрования просто закрылся и открыть его можно было бы только зная пароль). Т.е. пользователь заполнив и нажав на кнопку формы получил бы Сохраненный куда-то, запароленный на редактирование\открытие документ, который только он(зная пароль) мог бы открыть. |
26.02.2009, 19:14 | #6 | |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Цитата:
Часам к 9 по Москве сделаю. Зачем столько лишних пробелов? Вот еще Sasha_Smirnov не видел…
Лучше день потерять — потом за пять минут долететь!©
|
|
26.02.2009, 19:20 | #7 |
Регистрация: 26.02.2009
Сообщений: 7
|
В документе или в коде?=) документ - скан с бумаги, прогнанный через FineReader-форматирование никакое. А код-так удобнее.
Спасибо вам большое! Буду ждать! |
26.02.2009, 20:31 | #8 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
И я тоже жду (а то что-то наша ветка травой поросла)
Спасибо за пояснение про пробелы в сканированном тексте!
(Теперь ясно, что файнридер не такой уж и файн райтер! А что с него взять, он же ридер.)
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
|
26.02.2009, 21:26 | #9 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Ну вот так примерно.
Если не укажут пароль или нажмут «Отмена» при сохранении, — документ закроется без лишних разговоров. Если пароль укажут, то появится окно с предложением сохранить документ. После сохранения документ будет виден, но редактировать его будет нельзя. Пароль на открытие останется. Нужен ли пароль на снятие защиты от редактирования?
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 15.04.2009 в 14:44. |
26.02.2009, 22:47 | #10 |
Регистрация: 26.02.2009
Сообщений: 7
|
Класс! То что нужно! Спасибо огромное!
Да, но редактировать нельзя, даже зная пароль. За то отвечает строка ".Protect wdAllowOnlyReading"? А как сделать пароль на редактирование? Блин, на многих форумах писал-никто не мог помочь. А здесь прямо в точку! Супер |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с MS Word с помощью VBA. Нужна помощь. | ereality | Microsoft Office Word | 5 | 28.05.2008 18:50 |
Пользовательская форма к макросу | Flangini | Microsoft Office Excel | 6 | 23.04.2008 13:39 |
Нужна помощь! | Teodor_Bagwell | Общие вопросы Delphi | 6 | 11.02.2007 16:45 |