|
Как узнать какая часть текста в excel зачеркнута?
| ☑ |
0
geka-geka
28.11.11
✎
12:34
|
Требуется загрузить документ *.xls, в одной ячейке есть зачеркнутый текст и незачеркнутый. Так вот нужно узнать какая часть текста зачеркнута.
На данный момент узнал то, что если весь текст зачеркнут, то ExcelЛист.Cells(Row,Column).Font.Strikethrough = Истина,
если весь текст зачеркнут, то
ExcelЛист.Cells(Row,Column).Font.Strikethrough = Null,
Если ни один символ не зачеркнут, то
ExcelЛист.Cells(Row,Column).Font.Strikethrough = Ложь.
|
|
1
smaharbA
28.11.11
✎
12:34
|
.Characters
|
|
2
geka-geka
28.11.11
✎
12:40
|
а там что?
|
|
3
smaharbA
28.11.11
✎
12:49
|
примерно так (нажми ф1 и будет счастье)
Ячейка = Лист.Cells(Row,Column);
Для Сч = 1 По Ячейка.Characters.Count Цикл
Если Ячейка.Characters(Сч, 1).Font.Strikethrough = ИСТИНА Тогда
Прервать;
КонецЕсли;
Next
Сообщить(Ячейка.Characters(Сч, 1).Font.Strikethrough);
|
|
4
geka-geka
28.11.11
✎
12:51
|
Последовательный перебор это убийственно долго. Нет других вариантов?
|
|
5
geka-geka
28.11.11
✎
13:39
|
Спасибо.
|
|
6
geka-geka
28.11.11
✎
13:43
|
А как применить зачеркивание к ячейке табличного документа? На этот код ругается, говорит не доступна для записи.
ТабличныйДокумент.ТекущаяОбласть.Шрифт.Зачеркивание = Истина;
|
|
7
geka-geka
02.12.11
✎
10:50
|
Если у ячейки числовой формат, то ругается на Ячейка.Characters.Count
Произошла исключительная ситуация (Microsoft Office Excel): Невозможно получить свойство Count класса Characters
Обошел так:
КоличествоСимволовЯчейки = СтрДлина(ExcelЯчейка.Text);
Для Сч = 1 По КоличествоСимволовЯчейки Цикл
Если ExcelЯчейка.Characters(Сч, 1).Font.Strikethrough = ИСТИНА Тогда
Продолжить;
Иначе Стр = Стр + Сред(ExcelЯчейка.Text,Сч,1);
КонецЕсли;
КонецЦикла;
|
|