Author |
Topic |
|
jetsnake
3 Posts |
Posted - 05/26/2003 : 12:47:24
|
Помогите чайнику 2 И в самом деле как? Помогите подсчитать программно сколько в тексте на шейпе wrapped строк. |
|
Tumanov
Russia
1198 Posts |
Posted - 05/26/2003 : 13:59:20
|
Вот такая штуковина Sub ttt() s = ActivePage.Shapes(1).Text i = 1 While i > 0 i = InStr(i, s, vbLf) + 1 MsgBox i - 1 Wend End Sub Вот по такому тексту шейпа Раз строка Два строка Три строка Говорит последовательно: 11, 22, 0. То есть переводы строк на 11, 22 позиции, а больше нету. |
|
|
jetsnake
3 Posts |
Posted - 05/27/2003 : 06:45:41
|
Прошу прощения, наверное я неправильно выразился. Чайник он и в Африке чайник. При добавлении текста на прямоугольник получается автоматический перенос строк(wrap) по ширине шейпа. Вопрос состоит в подсчете получившегося количества строк, независимо от нажатий <Enter> при вводе этого текста. Извините, если что не так. Спасибо. |
|
|
Tumanov
Russia
1198 Posts |
Posted - 05/27/2003 : 12:28:03
|
Это гораздо сложнее. Если в предыдущем примере вычислялся точный результат, то здесь вычисления могут быть только приближенными. Существует функция, которая выдает расчетную высоту текста с учетом ограничения текстового блока по ширине и прочих параметров форматирования. TEXTHEIGHT(shapename!TheText,maximumwidth) В принципе, пользуясь ей и зная высоту одной строки, можно рассчитать и число строк. Только не забыть все делать в одинаковых единицах измерения и помнить, что отступы текстового блока тоже входят в высоту. |
|
|
mormax
Russia
18 Posts |
Posted - 01/27/2005 : 10:04:22
|
Подскажите, как работать с формулой TEXTHEIGHT(shapename!TheText,maximumwidth). Подставлял ее в ячейку HEIGHT шейпа с различными параметрами, и из примера с msdn вставлял, а визио в ответ все время пишет, что формула не верна. В чем дело, как правильно ее вставить? |
|
|
Tumanov
Russia
1198 Posts |
Posted - 01/27/2005 : 18:52:07
|
А что именно Вы пытались писать? Вот, например, работает такая конкретная формула =TEXTHEIGHT(TheText;1) Здесь ссылка идет на тот хе самый шейп. Вот такая работает, если ссылка на шейп с именем Sheet.2 =TEXTHEIGHT(Sheet.2!TheText;1) Может просто неточно ссылались? |
|
|
mormax
Russia
18 Posts |
Posted - 01/28/2005 : 13:27:27
|
Получилось! Спасибо! |
|
|
|
Topic |
|