Страница 1 из 1

Требуется найти координаты места окончания текста

Добавлено: 19 июн 2004, 01:58
dch
цель работы: в ячейку забивается тескт (сумма денег прописью)
и все что идет за ним зачеркивается двойной сплошной линией.

Я делаю на VBA следующее
ActiveSheet.Shapes.AddLine(aaa, bbb, ccc, ddd).Select
требуется найти aaa, которое и есть координата по "х"
начала линии.

может есть еще какие идеи :?: :?:
спасибо заранее.

Добавлено: 20 июн 2004, 11:22
Oscar
проходил мимо, vba не знаю...

1. VBA, случайно, HTML не использает? <strike>test</strike> ... Правда не двойной, но просто - ПРОСТО! ))
2. Если HTML - нет, то ... может всё же есть что-то подобное .. В настройках шрифта...
3. В зависимости от размера и типа шрифта прикинуть, какой размер по X одной буквы и множить на колличество букв,
или буквы тоже могут разный размер иметь? ...

P.S. Сорри, что влез, но всё равно все молчат ))

Добавлено: 21 июн 2004, 08:08
Naeel Maqsudov
ActiveSheet.Shapes.AddLine
:)

Обратившись к ячейке, воспользуйтесь свойством .Characters(С_позиции, по_позицию) - это набор символов, из которых состоит текст ячейки. А далее .Font.StrikeThrough=true - т.е. все как обычно.

НО, это только одинарная линия :(

Если бы можно было перевести проект в Word, то там, аналогичным образом можно и двойное зачеркивание. А, позвольте спросить, не букву ли "Y" требуется зачеркнуть.

PS
Вычисление же ширины символов выполняется функциями WinAPI, однако этим функциям необходима ссылка на контекст устройства в котором выводится текст, а я не знаю как в VBA получить эту ссылку. Может кто знает?