Автоподбор к контенту, затем к проблемам с окном - PullRequest
2 голосов
/ 17 апреля 2019

Я пытаюсь написать скрипт для автоматической подгонки таблиц сначала к содержимому, а затем к окну 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), оно все равно автоматически подгоняет все таблицы. Так что, если кто-нибудь знает, почему это происходит, это тоже будет полезно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...