цель работы: в ячейку забивается тескт (сумма денег прописью)
и все что идет за ним зачеркивается двойной сплошной линией.
Я делаю на VBA следующее
ActiveSheet.Shapes.AddLine(aaa, bbb, ccc, ddd).Select
требуется найти aaa, которое и есть координата по "х"
начала линии.
может есть еще какие идеи :?: :?:
спасибо заранее.
Требуется найти координаты места окончания текста
Модератор: Naeel Maqsudov
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
проходил мимо, vba не знаю...
1. VBA, случайно, HTML не использает? <strike>test</strike> ... Правда не двойной, но просто - ПРОСТО! ))
2. Если HTML - нет, то ... может всё же есть что-то подобное .. В настройках шрифта...
3. В зависимости от размера и типа шрифта прикинуть, какой размер по X одной буквы и множить на колличество букв,
или буквы тоже могут разный размер иметь? ...
P.S. Сорри, что влез, но всё равно все молчат ))
1. VBA, случайно, HTML не использает? <strike>test</strike> ... Правда не двойной, но просто - ПРОСТО! ))
2. Если HTML - нет, то ... может всё же есть что-то подобное .. В настройках шрифта...
3. В зависимости от размера и типа шрифта прикинуть, какой размер по X одной буквы и множить на колличество букв,
или буквы тоже могут разный размер иметь? ...
P.S. Сорри, что влез, но всё равно все молчат ))
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
ActiveSheet.Shapes.AddLine

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

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