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

[Developing.ru] Как отобразить таблицу в форуме?

Добавлено: 25 сен 2006, 20:17
Avsha
Кто-нибудь знает способ отобразить ровную таблицу в форуме?
вот моя попытка...
---------------------------
a1 b1 c1 d1
a2 b2 c2 d2
a3 b3 c3 d3
---------------------------

Re: [Developing.ru] Как отобразить таблицу в форуме?

Добавлено: 26 сен 2006, 23:26
Naeel Maqsudov
Avsha писал(а):Кто-нибудь знает способ отобразить ровную таблицу в форуме?
вот моя попытка...
---------------------------
a1 b1 c1 d1
a2 b2 c2 d2
a3 b3 c3 d3
---------------------------
А вот моя :)
<table>
<tr><td>a1</td><td>b1</td><td>c1</td><td>d1</td></tr>
<tr><td>a2</td><td>b2</td><td>c2</td><td>d2</td></tr>
<tr><td>a3</td><td>b3</td><td>c3</td><td>d3</td></tr>
</table>
Как Вы можете видеть использование HTML выключено, а BBCode не позволяет делать таблицы. Так что увы....
Хотя результат можно несколько улучшить, если воспользоваться моноширинным шрифтом, заключив таблицу в CODE

Код: Выделить всё

---------------------------
a1	b1	c1	d1
a2	b2	c2	d2
a3	b3	c3	d3
---------------------------

Добавлено: 27 сен 2006, 10:45
Duncon
Может если в iso все загнать пропустит... !

Добавлено: 27 сен 2006, 10:53
Duncon
Восклицательный знак в предидущем посте исошный...

Добавлено: 11 ноя 2006, 19:29
Avsha
Хотя результат можно несколько улучшить, если воспользоваться моноширинным шрифтом, заключив таблицу в CODE
а это и есть ответ ...
перед этим в Excel выделяем диапазон, являющийся таблицей и выполняем макрос:

Код: Выделить всё

Sub Text_Fix_width()
Dim r1 As Range
Dim r2 As Range
    Set r1 = Selection
    Set r2 = Selection.Offset(, r1.Columns.Count + 1)
    
    'Форматирование диапазона ячеек для вывода текста с фиксированной длиной
    r2.NumberFormat = "@"
    With r2.Font
        .Name = "Courier New CYR"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With


For j = 1 To r1.Columns.Count

    'Поиск максимальной длины текста в ячейках для столбца j
    MaxLen = Len(r1.Cells(1, j).Text)
    For i = 1 To r1.Rows.Count
        If MaxLen < Len(r1.Cells(i, j).Text) Then MaxLen = Len(r1.Cells(i, j).Text)
    Next i
    
    'Формирование текста с фиксированной длиной (+ c разделителем)
    For i = 1 To r1.Rows.Count
    r2.Cells(i, 1).Value = r2.Cells(i, 1).Text + _
                           r1.Cells(i, j).Text + _
                           Space(MaxLen - Len(r1.Cells(i, j).Text)) + " :"
    Next i
Next j
    
    'Форматирование диапазона ячеек для вывода текста с фиксированной длиной
    r2.Columns(1).AutoFit
    

End Sub
результат размещаем на форуме, помещенный в CODE