Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Защита листа / 14 сообщений из 14, страница 1 из 1
09.08.2004, 05:03:54
    #32640163
xaly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
Народ помогите, написать макрос.
Короче, нужно программно устанавливать и снимать защиту листа под поролем. Это вообще реально?
...
Рейтинг: 0 / 0
09.08.2004, 08:36:53
    #32640219
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
В Ворде, Экселе....???
Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
09.08.2004, 09:05:48
    #32640236
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
1) В Ворде (документ активен):
-задать пароль
Sub ПрисвоитьПароль()
With ActiveDocument
.ReadOnlyRecommended = False
.Password = " ТвойПароль "
.WritePassword = "ТвойПароль"
.RemovePersonalInformation = False
End With
With Options
.WarnBeforeSavingPrintingSendingMarkup = False
.StoreRSIDOnSave = True
End With
ChangeFileOpenDirectory "Путь, где лежит твой файл(C:\.....\) "
ActiveDocument.SaveAs FileName:=" Название твоего файла", FileFormat:= _
wdFormatDocument, LockComments:=False, Password:="ТвойПароль", AddToRecentFiles:= _
True, WritePassword:="ТвойПароль", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
End Sub

-снять пароль:
Sub СнятьПароль()
With ActiveDocument
.ReadOnlyRecommended = False
.Password = ""
.WritePassword = ""
.RemovePersonalInformation = False
End With
With Options
.WarnBeforeSavingPrintingSendingMarkup = False
.StoreRSIDOnSave = True
End With
ActiveDocument.SaveAs FileName:=" Название твоего файла", FileFormat:= _
wdFormatDocument, LockComments:=False, Password:="ТвойПароль", AddToRecentFiles:= _
True, WritePassword:="ТвойПароль", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
End Sub

2) В Экселе (активен):
-задать пароль
Sub ПрисвоитьПароль()
ActiveWorkbook.Password = "ТвойПароль"
ActiveWorkbook.WritePassword = "ТвойПароль"
End Sub

-снять пароль
Sub СнятьПароль()
ActiveWorkbook.Password = ""
ActiveWorkbook.WritePassword = ""
End Sub

Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
09.08.2004, 09:41:00
    #32640285
xaly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
Это все происходит в экселе, ща попробую.
...
Рейтинг: 0 / 0
09.08.2004, 09:46:55
    #32640298
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
Если тока листа:
поставить пароль:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="ТвойПароль"
аналогично - снятие...

Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
09.08.2004, 09:57:08
    #32640310
xaly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
Я попробовала и не пашет, ругается:
object doesn't support this property or method
...
Рейтинг: 0 / 0
09.08.2004, 09:59:36
    #32640316
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
нА какой строчке ругается ?
Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
09.08.2004, 10:06:26
    #32640326
xaly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
Ругается на:
ActiveWorkbook.Password = "ТвойПароль"
...
Рейтинг: 0 / 0
09.08.2004, 10:09:00
    #32640331
xaly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
А только лист получается заблокировать.
...
Рейтинг: 0 / 0
09.08.2004, 10:15:09
    #32640351
xaly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
у ActiveWorkbook нету ни метода, ни свойства Password,
во всяком случае в 2000-ом офисе
...
Рейтинг: 0 / 0
09.08.2004, 10:19:00
    #32640359
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
Могет у тебя какая-нибудь библиотека не установлена ???
У меня всё работает....
Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
09.08.2004, 10:41:55
    #32640409
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
Ну а с листом :
- запаролить
Private Sub Worksheet_Activate()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="ууу"
End Sub


- снять пароль
Sub Макрос()
ActiveSheet.Unprotect Password:="ууу"
End Sub


хоть работает ???
Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
28.08.2006, 20:21:02
    #33948055
Stagiere
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
Stepler ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="ТвойПароль"

Использую эту строчку и для снятия защиты:
Код: plaintext
ActiveSheet.Unprotect 

После нее пользователь должен ввести пароль. Если пароль правильный, программа выполняется дальше.

Проблема в том, что если пользователь нажал Cancel в окошке запроса пароля, то программа все равно выполняется дальше. Как запретить ей выполняться, если пароль неправильный, не знаете?
...
Рейтинг: 0 / 0
28.08.2006, 22:42:29
    #33948193
Stagiere
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита листа
Прошу прощения, вопрос снят. Лучше хэлп надо смотреть.

Если у кого-то еще не решен этот вопрос, для его решения можно сделать тестик:
Код: plaintext
1.
2.
3.
If Worksheets("Sheet1").ProtectContents = True Then
    MsgBox "The contents of Sheet1 are protected."
End If
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Защита листа / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]