Имя: Пароль:
1C
1C 7.7
v7: поймать ячеку на которой при интеракт. нажатии в экселе говорит "снять защиту"
,
0 Snik_666
 
12.09.11
16:32
Добрый день!
подскажите как програмно разбирая Эксель поймать/проверить ячеку на которой при интерактивном нажатии в экселе говорит "Снять защиту листа можно через меню сервис..."

Строк = Application.Cells.Rows.Count + 1;
   Для н = 2 по Строк Цикл
       Попытка
           Зн = СокрЛП(Application.Cells(н, 14).Value);
           Сообщить("Ячейка по адресу "+н+":"+14+" Application.Cells(н, 1).Locked() ="+Application.Cells(н, 1).Locked()+"  зн= "+Зн);
           Если ПустоеЗначение(Зн) = 1 Тогда
               //Прервать;
           КонецЕсли;
       Исключение  
           Сообщить("Необработана "+ н +" строка","!");
           Прервать;
       КонецПопытки;
   КонецЦикла;

P.S.

Интерактивно в экселе пр. кн. формат ячеек недоступно
1 Snik_666
 
12.09.11
16:37
Или как вариант проверить доступна ли ячейка для записи, но как ?
2 KishMish
 
12.09.11
16:39
Стандртный ответ в таких случаях. Включить запись макросов. Сделать действие в екселе. Закончить запись макросов. Смотреть код.
3 KishMish
 
12.09.11
16:40
Selection.Locked = False
   Selection.FormulaHidden = False
4 Snik_666
 
12.09.11
17:00
так везде Application.Cells(н, 14).Locked = -1
5 План счетов
 
12.09.11
17:06
(1) попытаться записать в неё что нибудь.
6 План счетов
 
12.09.11
17:06
Попытка                            Worksheet.Range(Range+Строка(Горизонт_+КК)).Value = "";                            Исключение
                           Сообщить("Ошибка в ячейке "+Range+Строка(Горизонт_+КК)+" -> "+ОписаниеОшибки(), "!");        
                       КонецПопытки;
7 kittystark
 
12.09.11
17:11
(4) .Locked = -1 это признак того, что ячейка заблокирована
(в VBA true = -1, false = 0)
8 Snik_666
 
12.09.11
17:16
(7) понятно, но оно выводит все = -1 хотя интерактивно можно внести значение
9 Snik_666
 
12.09.11
17:17
(6) подобным образом работает.

т.е. функции чтобы провериь доступность ячейки для записи отсутствует ?
10 План счетов
 
12.09.11
17:22
(9) проверить доступность скорее всего есть. В принципе как в (6) можно считать проверкой, если исключение то тогда Selection.Locked = False
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс