|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.01.2013, 14:32 | #1 |
Новичок
Джуниор
Регистрация: 06.01.2013
Сообщений: 2
|
Вставка диаграммы из Excel в Word в указанное место закладкой.
Здравствуйте, уважаемые форумчане! Только начинаю дружиться с VBA, помогите решить задачу.
Нужно определенный график из Excel вставить в документ Word в место определенное место, отмеченное закладкой. Это нужно, чтобы в дальнейшем на основании эксель таблицы формировать отчет, который содержит таблицы, графики. Вот код макроса, вызываемого в экселе: Sub Макрос1() Const sWordName As String = "c:\TEMP.docx" ' строка - путь к word файлу Dim oWord As Word.Application ' oWord - объявление приложения ворд Dim oDocument As Word.Document ' oDocument - объявление документа ворд Dim oRan As Range Sheets("9. графики 1").Select ' копирование нужного графика в буфер ActiveSheet.ChartObjects("Диаграмма 4").Activate ActiveChart.SeriesCollection(1).Sel ect ActiveChart.ChartArea.Copy Set oWord = GetObject(Class:="Word.Application" ) oWord.Visible = True Set oDocument = oWord.Documents(sWordName) AppActivate oWord Documents(1).Activate ' переход к закладке GR1 ActiveDocument.Range.GoTo What:=wdGoToBookmark, Name:="GR1" oDocument.Content.Paste ' вставка графика в место закладки End Sub Проблема в том, что курсор не устанавливается в указанное место, а при вставлении графика из буфера все содержимое ворд документа удаляетя. В чем ошибка? P.S. В дальнейшем хочу написать цикл, который будет вставлять все графики по своим местам. С уважением, Егор. |
10.01.2013, 15:18 | #2 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
После перехода, который у вас в коде (ActiveDocument.Range.GoTo What:=wdGoToBookmark, Name:="GR1") будет выделен фрагмент документа, где находится закладка. И можно вот так вставить данные в закладку:
Код:
Код:
Примечания Закладки есть двух видов:
Чтобы увидеть закладки, сделанные пользователем, в Word 2010 нужно сделать следующее: Файл - Параметры - Дополнительно - Показывать содержимое документа - Показывать закладки. Закладки есть двух видов:
Закладки в виде двух квадратных скобок создаются, если при создании закладки текст выделен. Если вставлять данные в закладку в виде вертикальной черты, то закладка не удаляется. Если вставлять данные в закладку в виде двух квадратных скобок, то закладка удаляется. |
10.01.2013, 15:24 | #3 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Если вы запускаете код не в программе Word, то команды должны быть связаны с переменными, т.е. в вашем случае нужно сделать так:
Код:
Код:
|
10.01.2013, 16:11 | #4 |
Новичок
Джуниор
Регистрация: 06.01.2013
Сообщений: 2
|
Скрипт, спасибо огромное Вам! Все заработало! А то уже несколько дней ломал голову. Спасибо за оперативный и развернутый ответ!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вставка таблицы в Word как листа Excel и форматирование его размеров | Nalim06 | Microsoft Office Excel | 0 | 08.10.2012 15:08 |
Спец вставка Word/Excel | Foxx | Microsoft Office Excel | 2 | 27.02.2012 20:27 |
Добавление строки или столбца в указанное место массива | revaldo666 | Общие вопросы C/C++ | 11 | 28.03.2011 16:47 |
Переод каретки в указанное место в RE | MyLastHit | Общие вопросы Delphi | 8 | 08.08.2010 20:49 |