Через Excel измените межстрочный интервал в документе Word - PullRequest
0 голосов
/ 07 февраля 2012

У меня есть этот файл Excel, в который я смог записать данные в документ Word через vba для отчета. Код VBA находится в файле Excel, содержащем данные.

У меня уже есть большая часть кода, и он работает правильно, но я не могу понять, как сказать слово (через код vba в Excel), чтобы изменить интервал между абзацами. Любой совет?

Я использую следующий код для записи в слова из Excel (не полный код, просто пример):

Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Set wdApp = New Word.Application
Set wdDoc = wdApp.Documents.Add
wdDoc.Content.InsertAfter "Test"
wdDoc.Content.InsertParagraphAfter
wdDoc.SaveAs (file & "\SpecificReport_" & filter & ".doc")
wdDoc.Close
wdApp.Quit
Set wdDoc = Nothing
Set wdApp = Nothing

Ответы [ 2 ]

2 голосов
/ 04 апреля 2012

Рекомендация, но не конкретный ответ.Если у вас есть какие-либо проблемы с выяснением того, как сделать что-то из Excel с Word, я обнаружил, что запись действий в слове и просмотр сгенерированного кода обычно отвечают мне.

В этом конкретном случае я придумал следующие строки кода:

wdDoc.Content.ParagraphFormat.SpaceBefore = 6 wdDoc.Content.ParagraphFormat.SpaceBeforeAuto = False

0 голосов
/ 30 октября 2017

Я предполагаю, что вас попросили изменить обычный шрифт обратно на одинарный интервал (pre-word2010).Помимо изменения normal.dotx попробуйте следующее:

With The_WordDoc.Styles("Normal").ParagraphFormat
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle

End With
The_WordDoc.Styles("Normal").NoSpaceBetweenParagraphsOfSameStyle = _
  False
With The_WordDoc.Styles("Normal")
  .AutomaticallyUpdate = False
  .BaseStyle = ""
  .NextParagraphStyle = "Normal"
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...