powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel all vers. Как заменить сообщение своей процедурой...
3 сообщений из 3, страница 1 из 1
Excel all vers. Как заменить сообщение своей процедурой...
    #33681577
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
файл приложен.
...
Рейтинг: 0 / 0
Excel all vers. Как заменить сообщение своей процедурой...
    #33681921
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нормальных способов заменить это сообщение - нет.

Можно попробовать такой вариант.

Сделать одну ячейку незащищенной, например "A1", и установить свойство EnableSelection = xlUnlockedCells. Это свойство надо каждый раз устанавливать при открытии книги.

Модуль книги.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub Workbook_Open()
    Dim ws As Worksheet
    
    On Error Resume Next
    
    For Each ws In ThisWorkbook.Worksheets
        ws.Unprotect Password:="123"
        ws.EnableSelection = xlUnlockedCells
        ws.Protect Password:="123", _
          DrawingObjects:=True, _
          Contents:=True, _
          Scenarios:=True
    Next ws
End Sub

Модуль листа.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Worksheet_BeforeDoubleClick( _
  ByVal Target As Range, _
  Cancel As Boolean)
    If Target.Address = "$A$1" Then
        MsgBox "Нельзя изменять!"
        Cancel = True
    End If
End Sub

Private Sub Worksheet_Change( _
  ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Application.EnableEvents = False
        Target.Value = ""
        MsgBox "Нельзя изменять!"
        Application.EnableEvents = True
    End If
End Sub
...
Рейтинг: 0 / 0
Excel all vers. Как заменить сообщение своей процедурой...
    #33685459
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AshtonНормальных способов заменить это сообщение - нет.

Можно попробовать такой вариант.

Сделать одну ячейку незащищенной, например "A1", и установить свойство EnableSelection = xlUnlockedCells. Это свойство надо каждый раз устанавливать при открытии книги.




Тогда будет доступно удаление строк и прочее. Не хотелось бы далее писать код на блокировку кнопок в меню и прочее, слишком замудренно.

Может через API как нибудь решается?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel all vers. Как заменить сообщение своей процедурой...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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