Lilo писал(а):single/(длину '-') * row
karlex писал(а):Определи ширину одной "тирешки", подели ей ширину ячейки, собственно получишь кол-во.
karlex писал(а):Lilo писал(а):single/(длину '-') * row
Длину? Может ширину?
Умножить на номер строки? (... * row)
Хм... А может кол-во строк? (RowsCount) Все равно не понятно...
А может всетаки умножить на кол-во столбцов? (... * ColumnsCount)
Но и тут нас может ждать неудача, т.к. не известно заранее, у всех ли ячеек ширина равна, ведь автор об этом не рассказал.
Lilo писал(а):count*single/(длину '-' вместе с промежутком)
alibek писал(а):А ты не забыл, что нужно учитывать еще и величину расстояния между символами?
gjghjc писал(а):Кол-во тирешек = максимально возможной длине содержимого ячейки + 2-3 тирешки для "типа форматирования" в этой ячейке
-----------
|вася|Петя|
-----------
|ася |етя |
-----------
|ся |тя |
-----------
|я |я |
-----------
karlex писал(а):Видимо я тебя не понял, про какие промежутки ты говорил?
alibek писал(а):Тогда сразу увидишь, что означает интервал между символами.
karlex писал(а):У меня все нормально получается (вроде) через вышеперечисленные функции и формулу, может TextWidth всетаки все учитывает?
alibek писал(а):С одними шрифтами числа будут одинаковы, с другими будут отличаться.
Так что лучше учитывать расстояние между символами самостоятельно.
alibek писал(а):karlex писал(а):…С одними шрифтами числа будут одинаковы, с другими будут отличаться…
Sub SymbolWidth()
Dim t&, l&, h&, w&
ActiveWindow.View.Zoom.Percentage = 100
ActiveWindow.GetPoint l, t, w, h, Selection.Range
End Sub
viter.alex писал(а):Сам задумывался над этой проблемой, только хотел сразу делать через псевдографику ┌, ┤и прочие. Но до конца не довел.
viter.alex писал(а):В текстовом файле все равно моношрифт, поэтому расстояние между символами значения не имеет Важно только количество символов. Определить ширину ячейки несложно. Нужно только определится со шрифтом. Для Courier 10 кегля ширина тире равна 8 пикселов или 6 поинтов. Узнать это можно так:
- Код: Выделить всё
Sub SymbolWidth()
Dim t&, l&, h&, w&
ActiveWindow.View.Zoom.Percentage = 100
ActiveWindow.GetPoint l, t, w, h, Selection.Range
End Sub
Таким образом количество символов умножаем на ширину одного символа и прибавляем границы ячейки.
А вот как быть с высотой ячейки, если строк в ячейке несколько?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18