Требуется загрузить документ *.xls, в одной ячейке есть зачеркнутый текст и незачеркнутый. Так вот нужно узнать какая часть текста зачеркнута.
На данный момент узнал то, что если весь текст зачеркнут, то ExcelЛист.Cells(Row,Column).Font.Strikethrough = Истина,
если весь текст зачеркнут, то
ExcelЛист.Cells(Row,Column).Font.Strikethrough = Null,
Если ни один символ не зачеркнут, то
ExcelЛист.Cells(Row,Column).Font.Strikethrough = Ложь.
Ячейка = Лист.Cells(Row,Column);
Для Сч = 1 По Ячейка.Characters.Count Цикл
Если Ячейка.Characters(Сч, 1).Font.Strikethrough = ИСТИНА Тогда
Прервать;
КонецЕсли;
Next
Сообщить(Ячейка.Characters(Сч, 1).Font.Strikethrough);
Если у ячейки числовой формат, то ругается на Ячейка.Characters.Count
Произошла исключительная ситуация (Microsoft Office Excel): Невозможно получить свойство Count класса Characters
Обошел так:
КоличествоСимволовЯчейки = СтрДлина(ExcelЯчейка.Text);
Для Сч = 1 По КоличествоСимволовЯчейки Цикл
Если ExcelЯчейка.Characters(Сч, 1).Font.Strikethrough = ИСТИНА Тогда
Продолжить;
Иначе Стр = Стр + Сред(ExcelЯчейка.Text,Сч,1);
КонецЕсли;
КонецЦикла;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший