Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2016, 23:09   #1
bdfy
Форумчанин
 
Регистрация: 12.11.2009
Сообщений: 258
По умолчанию VBA Word отредактировать таблицы,узнать есть ли переносы строк в ячейках

Есть документ (программно формируемый) где ряд таблиц выглядят не совсем опрятно.
1. Нужно определить вылазит ли таблица за границы окна. с этим просто
Код:
Function GetTablewidth(ByVal myTable As Word.Table)
 
With myTable
     Set tRng = .Cell(1, 1).Range
    sngWdth = -tRng.Information(wdHorizontalPositionRelativeToPage)
    Do While tRng.Cells(1).RowIndex = 1
      tRng.Move unit:=wdCell, Count:=1
    Loop
    tRng.MoveEnd wdCharacter, -1
    GetTablewidth = GetTablewidth + tRng.Information(wdHorizontalPositionRelativeToPage)
  '  Debug.Print sngWdth
End With
 
 
End Function
потом можно сравнить с шириной экрана
Код:
With ActiveDocument.PageSetup
    width_max = .PageWidth - .LeftMargin - .RightMargin
End With
а вот теперь нужно уместить таблицу в ширине листа.
"вписывать" текст не хочу (шрифт получается везде разный) и переносы для чисел тоже недопустимы.
собираюсь играть полями и удалять "ненужные" столбцы (те где все значения одинаковые например)
Вопрос как контролировать что в ячейках нет переносов строк ?

Во вложении документ, в нем - две таблицы
одна по ширине окна сделана (но при этом получаются переносы строк)
вторая получается если дважды кликнуть на границе ячейки (курсор при этом еще принимает форму двунаправленной стрелки).
Вот только ни автоподбор по содержимому, ни в макросе .AutoFitBehavior wdAutoFitContent такого эффекта не достигают. Пробовал .AutoFitBehavior wdAutoFitContent и к таблице применять и к колонкам отдельным. Так что за действие такое происходит при двойном клике мышью на границе ячейки ?
Изображения
Тип файла: jpg table2.jpg (59.0 Кб, 47 просмотров)
Вложения
Тип файла: docx test.docx (59.3 Кб, 6 просмотров)
bdfy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Word из VBA: Как узнать/изменить Name группы фигур DBEER Microsoft Office Word 1 10.04.2014 13:45
Word из VBA: как узнать № раздела, в котором стоит курсор? DBEER Microsoft Office Word 6 10.04.2014 08:58
Как узнать, есть ли в формуле подстрочные цифры средствами VBA? Скрипт Microsoft Office Word 0 11.05.2013 13:19
VBA и таблицы Word gaishnik Помощь студентам 0 10.04.2012 17:43
VBA Переносы chugo Microsoft Office Word 8 01.07.2010 23:42