Стиль «Обнулить» Word перед вставкой таблицы Excel в документ - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть код ( Полный код можно найти здесь ) для вставки данных из Excel во встроенный документ Word.Он читает команды ячеек (дела) и вводит данные в Word на их основе (см. Скриншот выше «main», «attachment», «table2»).Проблема в том, что если для какого-то Case не определен стиль, он использует предыдущий стиль.

Я столкнулся с проблемой при копировании диапазона Excel и вставке его в мой документ.Код принимает параметры стиля «вложение» и вставляет таблицу с предопределенным стилем «Вложение» в Word.Как обнулить предыдущие параметры стиля перед вставкой диапазона в Ms Word?

Вот мой код для вставки таблицы:

                  Set xlSht = Sheets("Service")
               Case "table2"
        xlSht.Range("B11:I20").Copy
     With wdRng
  .Paragraphs.Last.Range.PasteExcelTable False, False, False
  .Tables(.Tables.Count).AutoFitBehavior wdAutoFitWindow
End With

Результат кода VBA: enter image description here

Скопировано вручную: enter image description here

В Excel: enter image description here

1 Ответ

0 голосов
/ 04 февраля 2019

Если у вас есть случай, когда вы хотите «обнулить» всю информацию о стиле, сделайте это до вставки таблицы.«Нулевой» стиль в Word - это стиль Normal;этот стиль также «самый безопасный» при вставке таблиц *.

Следующий фрагмент кода, основанный на коде в вопросе, сначала применяет стиль, а затем вставляет таблицу.

Dim rngPara as Word.Range
Set rngPara = .Paragraphs.Last.Range
rngPara.Style = wdStyleNormal
rngPara.PasteExcelTable False, False, False

* Помимо форматирования абзацев и символов в Word также есть стили таблиц.Это особый вид стиля, который определяет форматирование таблицы (в отличие от форматирования абзацев или символов).Они применяются только правильно, когда таблица создается в пустом абзаце, отформатированном в стиле Normal.

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