Я пытаюсь создать текстовые документы на основе таблицы Excel следующим образом:
В конце создается 3 документа, и каждому из них соответствуют только строки с Да. Моя проблема в том, что он не сохраняет форматирование строк. Может ли кто-нибудь помочь мне с этим? Вот код:
Sub NewWordDocument()
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Dim i As Integer
Dim j As Integer
Dim LineCount As Integer
Dim DocumentCount As Integer
LineCount = Application.CountA(Range("A:A")) ' To see how many lines should be inputed
DocumentCount = Application.CountA(Range("B2:AZ2")) 'To see how many documents should be created
For j = 1 To DocumentCount
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Add ' or 'Set wrdDoc =wrdApp.Documents.Open("C:\Foldername\Filename.doc") 'sample word operations
wrdApp.Selection.TypeText Text:="Heading One"
With wrdDoc
For i = 1 To LineCount
If Cells(i + 2, j + 1).Value = "Yes" Then
.Range.InsertAfter Cells(i + 2, 1) 'Different way to paste the text. It doesn't keep the formatting
.Range.InsertParagraphAfter
End If
Next i
If Dir("D:\" & Cells(2, j + 1).Value & ".docx") <> "" Then
Kill "D:\" & Cells(2, j + 1).Value & ".docx"
End If
.SaveAs ("D:\" & Cells(2, j + 1).Value & ".docx")
.Close ' close the document
End With
wrdApp.Quit ' close the Word application
Set wrdDoc = Nothing
Set wrdApp = Nothing
Next j
End Sub
Если я делаю это вручную, копирование ячейки и вставка ее в слово работает отлично - сохраняет формат и удаляет таблицу, но когда я использую «Selection.PasteExcelTable False, False, False» вместо «InsertAfter», я просто перезаписываю тот же текст вместо добавления в конец страницы.
Кроме того, как я могу отформатировать заголовок, чтобы он был жирным и центрированным?