Здравствуйте. Прошу совета/напутствия в решении задачи. Работаю с VBA относительно мало, пробовал искать по своему вопросу информацию, но не нашёл ответа. Формирую документ word по шаблону, используя данные excel. Значения из индивидуальных ячеек переношу с помощью .Find.Replacement.Text, но не могу никак скопировать определённый диапазон ячеек в виде таблицы в нужное место документа word. Желательно с сохранением параметров столбцов и выравнивания. Через .Find никак, пробовал через закладки - тоже не получается.
Максимум, чего добивался в ходе подбора кода - вставка таблицы в начало документа, что никак не подходит. Поисковые системы выдавали мне нечто близкое к решению, но в тех примерах использовали подключённые библиотеки word. Можно ли обойтись без подключения библиотек, хотя бы теоретически?
Вот код, что я собрал:
Код |
---|
Sub ExceltoWord()
Dim wdapp As Object, wddoc As Object, filepath As String
On Error Resume Next
Set wdapp = GetObject(, "Word.Application")
If wdapp Is Nothing Then
Set wdapp = CreateObject("Word.Application")
wdapp.Visible = True
End If
filepath = ThisWorkbook.Path
Range("B3:E5").Copy
wdapp.Activate
Set wddoc = wdapp.Documents(filepath & "\testDOC.doc")
If wddoc Is Nothing Then Set wddoc = wdapp.Documents.Open(filepath & "\testDOC.doc")
wddoc.Activate
wddoc.Bookmarks("метка").Select
wddoc.Selection.PasteExcelTable False, True, False
'wddoc.Save
'wdapp.Quit
Set wddoc = Nothing
Set wdapp = Nothing
'Application.CutCopyMode = False
End Sub
|
Прикладываю к сообщению файлы, в которых пытаюсь заставить работать код.