А поподробнее, как ты автоподбор делаешь?
Что значит не работает? Попробуй так:
Sub AdjustColumns()
With ActiveDocument.Tables(1)
.Columns(2).AutoFit ' Должно работать
'Задаем общую ширину таблицы в пунктах (здесь ~15см)
.Columns(1).Width = 425 - .Columns(2).Width
End With
End Sub
--
Good Luck!
Аркадий
Paul A. Puchkov <pa...@inecs.com> wrote in message news:7mhji5$857$1...@ddt.demos.su...
Тогда могу предложить более медленный метод (148 строк за 62 секунды на Р166ММХ), но более быстрый, чем приведенный тобой в предыдущем письме.
Sub TableFormatEx()
Dim inpTableWidth As Single
Dim CurRow As Row
inpTableWidth = InputBox("Введите ширину таблицы", "Adjust Columns") * 28.35
Application.ScreenUpdating = False
With Selection.Tables(1)
.Columns(2).Select
With Selection.ParagraphFormat
.Alignment = wdAlignParagraphRight
.FirstLineIndent = 0 ' Если попадаются ячейки
.LeftIndent = 0 ' с форматом параграфов,
.RightIndent = 0 ' иначе можно удалить.
End With
For Each CurRow In .Rows
With CurRow
If .Cells(2).Range.Characters.Count > 1 Then
.Cells.AutoFit ' Применяем только к непустым ячейкам
.Cells(1).SetWidth inpTableWidth - .Cells(2).Width, wdAdjustNone
Else
.Cells(2).Delete
.Cells(1).SetWidth inpTableWidth, wdAdjustNone
End If
End With
Next CurRow
End With
Selection.Collapse (wdCollapseStart)
Application.ScreenUpdating = True
End Sub
--
Good Luck!
Аркадий
Paul A. Puchkov <pa...@inecs.com> wrote in message news:7mkin4$a1v$1...@ddt.demos.su...
Paul A. Puchkov <pa...@radio-msu.net> wrote in message...
> THNKS, but I have 2 questions:
> 1. Почему Вы считаете, что автофит работает быстрее, чем принудительное задание
> ширины ячейки? Это действительно так?
Да, если эту ширину нужно сначала вычислить. Если задавать непосредственно числом, то автофит немного медленнее.
> 2. Все равно хочется не применять преобразований к Row, которые и так состоят из
> одной строки текста. Повторяю вопрос - как определить, сколько текстовых строк
> содержит одна Row таблицы?
Почему не хочется? Время сэкономить на этом ИМХО не удастся, т.к. оно уйдет на проверку.
--
Good Luck!
Аркадий
Посмтори хелп по
Selection.Information wdVerticalPositionRelativeToTextBoundary
Лев.