powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Защита листа
14 сообщений из 14, страница 1 из 1
Защита листа
    #32640163
xaly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ помогите, написать макрос.
Короче, нужно программно устанавливать и снимать защиту листа под поролем. Это вообще реально?
...
Рейтинг: 0 / 0
Защита листа
    #32640219
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Ворде, Экселе....???
Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
Защита листа
    #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
Защита листа
    #32640285
xaly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это все происходит в экселе, ща попробую.
...
Рейтинг: 0 / 0
Защита листа
    #32640298
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если тока листа:
поставить пароль:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="ТвойПароль"
аналогично - снятие...

Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
Защита листа
    #32640310
xaly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я попробовала и не пашет, ругается:
object doesn't support this property or method
...
Рейтинг: 0 / 0
Защита листа
    #32640316
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нА какой строчке ругается ?
Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
Защита листа
    #32640326
xaly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ругается на:
ActiveWorkbook.Password = "ТвойПароль"
...
Рейтинг: 0 / 0
Защита листа
    #32640331
xaly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А только лист получается заблокировать.
...
Рейтинг: 0 / 0
Защита листа
    #32640351
xaly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у ActiveWorkbook нету ни метода, ни свойства Password,
во всяком случае в 2000-ом офисе
...
Рейтинг: 0 / 0
Защита листа
    #32640359
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могет у тебя какая-нибудь библиотека не установлена ???
У меня всё работает....
Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
Защита листа
    #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
Период между сообщениями больше года.
Защита листа
    #33948055
Stagiere
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stepler ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="ТвойПароль"

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

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

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

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


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