Здравствуйте. Прошу совета/напутствия в решении задачи. Работаю с VBA относительно мало, пробовал искать по своему вопросу информацию, но не нашёл ответа. Формирую документ word по шаблону, используя данные excel. Значения из индивидуальных ячеек переношу с помощью .Find.Replacement.Text, но не могу никак скопировать определённый диапазон ячеек в виде таблицы в нужное место документа word. Желательно с сохранением параметров столбцов и выравнивания. Через .Find никак, пробовал через закладки - тоже не получается.
Максимум, чего добивался в ходе подбора кода - вставка таблицы в начало документа, что никак не подходит. Поисковые системы выдавали мне нечто близкое к решению, но в тех примерах использовали подключённые библиотеки word. Можно ли обойтись без подключения библиотек, хотя бы теоретически?
Вот код, что я собрал:
Прикладываю к сообщению файлы, в которых пытаюсь заставить работать код.
Максимум, чего добивался в ходе подбора кода - вставка таблицы в начало документа, что никак не подходит. Поисковые системы выдавали мне нечто близкое к решению, но в тех примерах использовали подключённые библиотеки 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 |