Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2009, 11:13   #1
Psisa
 
Регистрация: 06.05.2009
Сообщений: 6
Вопрос Запретить изменение форматов

Подскажите как в Excel заблокировать возможность изменять фотматы ячеек? (ширену, высоту, шрифт ...)
Уже давно задаюсь этим вопросом но все никак не могу найти.
Спасибо.
Psisa вне форума Ответить с цитированием
Старый 06.05.2009, 12:13   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение.
Вложения
Тип файла: rar Книга1.rar (7.4 Кб, 38 просмотров)
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 06.05.2009 в 13:44.
SAS888 вне форума Ответить с цитированием
Старый 06.05.2009, 13:13   #3
Psisa
 
Регистрация: 06.05.2009
Сообщений: 6
По умолчанию

хм... пустой лист (
Psisa вне форума Ответить с цитированием
Старый 06.05.2009, 13:35   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Ну так Вы попробуйте на нем изменить те параметры (ширину столбца, высоту строки и т.д.), которые Вы хотели запретить изменять.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 06.05.2009 в 13:42.
SAS888 вне форума Ответить с цитированием
Старый 06.05.2009, 14:02   #5
Psisa
 
Регистрация: 06.05.2009
Сообщений: 6
По умолчанию

ну так да, я пробовал.
не работает. просто пустой лист.
Psisa вне форума Ответить с цитированием
Старый 06.05.2009, 14:16   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А сейчас попробуйте.
Вложения
Тип файла: rar Книга1.rar (7.8 Кб, 35 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 06.05.2009, 14:40   #7
Psisa
 
Регистрация: 06.05.2009
Сообщений: 6
По умолчанию

тоже самое.
может вы скажете что нужно сделать для того чтобы заблокировать.
я тогда попробую у себя повторить действия.
Psisa вне форума Ответить с цитированием
Старый 07.05.2009, 04:35   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Вставьте в программный модуль код:
Код:
Public ComBar As CommandBar
Public ComBarCtrl As CommandBarControl
Private Sub EnableAllClear()
    EnableControl 541, True
    EnableControl 542, True
    EnableControl 30006, True
    EnableControl 30007, True
    EnableControl 30045, True
    Application.CommandBars("Formatting").Visible = True
    ActiveWindow.DisplayHeadings = True
End Sub
Private Sub DisAbleAllCLear()
    EnableControl 541, False
    EnableControl 542, False
    EnableControl 30006, False
    EnableControl 30007, False
    EnableControl 30045, False
    Application.CommandBars("Formatting").Visible = False
    ActiveWindow.DisplayHeadings = False
End Sub
Private Sub EnableControl(iId As Integer, blnState As Boolean)
    Dim ComBar As CommandBar
    Dim ComBarCtrl As CommandBarControl
    On Error Resume Next
    For Each ComBar In Application.CommandBars
        Set ComBarCtrl = ComBar.FindControl(ID:=iId, recursive:=True)
        If Not ComBarCtrl Is Nothing Then ComBarCtrl.Enabled = blnState
    Next
End Sub
А в модуль "Эта книга:
Код:
Private Sub Workbook_Open(): Run "DisAbleAllCLear": End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean): Run "EnableAllClear": End Sub
В результате, при открытии книги, панель "Форматирование" и заголовки строк и столбцов будут выключены, и не будет доступа к вкладкам "Формат" и "Сервис" стандартной панели инструментов. Что не позволит изменять ни формат текста, ни размеры строк (столбцов).
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 07.05.2009, 13:10   #9
Psisa
 
Регистрация: 06.05.2009
Сообщений: 6
По умолчанию

Да спасибо. Заработало.
Но єто не совсем то что требовалось.

Формат все равно можно поменять через правый клик мышки.

Просто скрыть адреса ячеек тоже не совсем удобный подход.

Неужели нет средства которое запрещает изменять формат? Кроме как использования макросов?
Psisa вне форума Ответить с цитированием
Старый 07.05.2009, 13:18   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Во-первых, что Вы понимаете под словом "формат"? Вам требовалось запретить изменять
Цитата:
(ширену, высоту, шрифт ...)
Это и реализовано.
Во-вторых, макросами можно сделать (запретить) практически все, что угодно.
В-третьих, чем Вас не устраивает защита листа с указанием различных опций?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запретить изменение рамера главного окна? AlexeyLed Общие вопросы C/C++ 1 18.03.2009 21:12
как запретить изменение текстового файла на delphi BuT@JL Помощь студентам 1 28.02.2009 05:35
как в ХР запретить установку и удаление програм и изменение параметров дисплея? Dinya Безопасность, Шифрование 2 21.12.2008 21:30
Изменение форматов БД! фЁдОр БД в Delphi 10 20.09.2007 12:13
изображения других форматов Toxa Мультимедиа в Delphi 1 24.04.2007 00:55