Я пытаюсь написать скрипт для автоматической подгонки таблиц сначала к содержимому, а затем к окну n Word 2010, если они имеют хотя бы определенную ширину.
Когда я выполняю автоматическую подгонку к содержимому, а затем к окну, таблицы выглядят красиво и равномерно, однако, если я только автоматически подхожу к окну, у них, как правило, появляются действительно широкие первые столбцы, а другие столбцы сжимаются.
Код:
Sub AutoFitTables()
If ActiveDocument.Tables.Count > 0 Then
Dim objTable As Object
Application.Browser.Target = wdBrowseTable
For Each objTable In ActiveDocument.Tables
' Check the table width
If objTable.Columns.Width > 11520 Then
objTable.AutoFitBehavior (wdAutoFitContent)
' Again only fit tables above a certain width
If objTable.Columns.Width > 11520 Then
objTable.AutoFitBehavior (wdAutoFitWindow)
End If
End If
Next
End If
End Sub
Вопрос:
Результат такой же, как когда я вручную ТОЛЬКО автоматически подгоняюсь к окну. Это как будто сначала игнорирует автоподбор к содержимому
Есть что-то, что я здесь упускаю? Или у кого-нибудь есть предложения о том, как добиться того же эффекта, что и при ручной подгонке к контенту, а затем к окну?
редактирование:
Кажется, также игнорируется ограничение ширины. Я считаю, что таблица с возвращается в Twips, поэтому должно быть только 11907 по короткому краю и 16840 по длинному краю, но независимо от того, насколько велико я установил отсечение (например, objTable.Columns.Width > 20000
), оно все равно автоматически подгоняет все таблицы. Так что, если кто-нибудь знает, почему это происходит, это тоже будет полезно