Страницы: 1
RSS
Копирование таблицы из определённого места книги excel в определённое место документа word, Возможно ли это без подключения библиотеки word?
 
Здравствуйте. Прошу совета/напутствия в решении задачи. Работаю с 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 
Прикладываю к сообщению файлы, в которых пытаюсь заставить работать код.
 
Цитата
Можно ли обойтись без подключения библиотек, хотя бы теоретически?
да, можно
и ваш код, - отличное тому подтверждение
(он работает с Word, но подключения библиотеки не требует)

а чтобы форматирование таблицу сохранялось, - попробуйте PasteExcelTable с параметрами False, False, False

http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=51095&TITLE_SEO=51095&MID=424...
Изменено: Игорь - 12.05.2016 00:53:53
 
Спасибо за развёрнутый ответ. Но данный вариант кода копирует таблицу в  начало word документа. Мне же нужно привязать скопированную таблицу к  определённому месту в word документе. Написанный мною код некорректен - он копирует таблицу, но не вставляет её в нужное место, хотя и взаимодействует с созданным документом. Может есть какие-то тонкости?
Страницы: 1
Читают тему
Наверх