Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Копирование данных из Excel в Powerpoint - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Power Point » Копирование данных из Excel в Powerpoint (Макросы/Sub)
Копирование данных из Excel в Powerpoint
Manyasha Дата: Вторник, 03.02.2015, 18:31 | Сообщение № 1
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Добрый вечер, уважаемые форумчане!
Пишу макрос копирования текста из Excel в таблицу в Powerpoint.
Алгоритм такой:
1. Открывается файл-эксель, выбранный пользователем
2. Копируется определенный диапазон
3. Вставляется в таблицу на слайде1 в Powerpoint

Не могу справиться с последним пунктом. Данные вставляются как картинка, как таблица, но не как ТЕКСТ.

Ожидаемый результат выполнения макроса на слайде2.
Во вложении файл Powerpoint с макросом и файл-Excel с данными для копирования.

Т.к. макрос еще очень сырой, возможно придется вручную подключить библиотеку Microsoft Excel перед запуском: Tools->References->Microsoft Excel Object Library.
За ранее прошу прощения за неудобства.

Буду очень благодарна за любую помощь!
К сообщению приложен файл: ImportToPP.rar (53.5 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеДобрый вечер, уважаемые форумчане!
Пишу макрос копирования текста из Excel в таблицу в Powerpoint.
Алгоритм такой:
1. Открывается файл-эксель, выбранный пользователем
2. Копируется определенный диапазон
3. Вставляется в таблицу на слайде1 в Powerpoint

Не могу справиться с последним пунктом. Данные вставляются как картинка, как таблица, но не как ТЕКСТ.

Ожидаемый результат выполнения макроса на слайде2.
Во вложении файл Powerpoint с макросом и файл-Excel с данными для копирования.

Т.к. макрос еще очень сырой, возможно придется вручную подключить библиотеку Microsoft Excel перед запуском: Tools->References->Microsoft Excel Object Library.
За ранее прошу прощения за неудобства.

Буду очень благодарна за любую помощь!

Автор - Manyasha
Дата добавления - 03.02.2015 в 18:31
TimSha Дата: Вторник, 03.02.2015, 19:12 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 627
Репутация: 94 ±
Замечаний: 0% ±

Excel 2013 Pro +
Пишу макрос копирования текста из Excel в таблицу в Powerpoint.

Есть готовая таблица, а вы из неё текст вставляете в таблицу PP - в чем резон?!
Не проще ее и использовать, но, если очень хоцца, то разукрасить в PP... ;)
ps Добавил файлы. без макроса.
К сообщению приложен файл: Z_ImportToPP.rar (63.1 Kb)


"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)

Сообщение отредактировал TimSha - Вторник, 03.02.2015, 19:29
 
Ответить
Сообщение
Пишу макрос копирования текста из Excel в таблицу в Powerpoint.

Есть готовая таблица, а вы из неё текст вставляете в таблицу PP - в чем резон?!
Не проще ее и использовать, но, если очень хоцца, то разукрасить в PP... ;)
ps Добавил файлы. без макроса.

Автор - TimSha
Дата добавления - 03.02.2015 в 19:12
Manyasha Дата: Среда, 04.02.2015, 10:30 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
TimSha, спасибо за предложение, но дело в том, что таких слайдов будет много, для каждого своя таблица со своим дизайном (размер шрифта, цвет, заливка).
Более того, таких шаблонов РР будет тоже много, и могут появляться новые, дизайн которых за ранее неизвестен.

Есть проекты, которые повторяются каждый год, соответственно, чтобы вручную не подгонять дизайн, берется старая презентация (допустим за прошлый год) и туда вставляются новые значения.
Меня попросили как-то автоматизировать весь процесс, т к есть РР с количеством слайдов больше 100, и замена всех данных вручную занимает много времени.

Каких-то альтернативных решения проблемы, кроме вставки самой таблицы нет? Может что-то почитать предложите?


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеTimSha, спасибо за предложение, но дело в том, что таких слайдов будет много, для каждого своя таблица со своим дизайном (размер шрифта, цвет, заливка).
Более того, таких шаблонов РР будет тоже много, и могут появляться новые, дизайн которых за ранее неизвестен.

Есть проекты, которые повторяются каждый год, соответственно, чтобы вручную не подгонять дизайн, берется старая презентация (допустим за прошлый год) и туда вставляются новые значения.
Меня попросили как-то автоматизировать весь процесс, т к есть РР с количеством слайдов больше 100, и замена всех данных вручную занимает много времени.

Каких-то альтернативных решения проблемы, кроме вставки самой таблицы нет? Может что-то почитать предложите?

Автор - Manyasha
Дата добавления - 04.02.2015 в 10:30
anvg Дата: Среда, 04.02.2015, 11:10 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток
Цитата
для каждого своя таблица со своим дизайном (размер шрифта, цвет, заливка).

Что то у вас в коде не видно, каким образом сопоставляются данные таблицы на рабочем листе Excel и таблицы на слайде. Разве что, подписи на рабочем листе дают наводку, но в коде происходит только перебор. Следующее - необходимо учитывать, что есть объединённые ячейки, поэтому нужно для объединённых ячеек брать значения таблицы только для левой верней ячейки объединения.
В общем случае, при отсутствии объединения (код не проверял) будет что-то подобное - запись значения ячейки таблицы Excel в ячейку таблицы слайда
[vba]
Код
            'Если фигура является таблицей
                 If iSlide.Shapes(i).HasTable = msoTrue Then
                     '!!!!!!!!Вставить в таблицу значения из буфера обмена!!!!!!!!!!!
                     Dim pTable As Table, iRow As Long, iCol As Long
                     Dim vData As Variant
                     Set pTable = iSlide.Shapes(i).Table
                     vData = workB.sheets(1).Range("B2:F9").Value
                     For iRow = 1 To UBound(vData)
                         For iCol = 1 To UBound(vData, 2)
                             pTable.Cell(iRow, iCol).Shape.TextFrame.TextRange.Text = vData(iRow, iCol)
                         Next
                     Next
                     'iSlide.Shapes.PasteSpecial ppPasteOLEObject
                     Exit For
                 End If
[/vba]
 
Ответить
СообщениеДоброе время суток
Цитата
для каждого своя таблица со своим дизайном (размер шрифта, цвет, заливка).

Что то у вас в коде не видно, каким образом сопоставляются данные таблицы на рабочем листе Excel и таблицы на слайде. Разве что, подписи на рабочем листе дают наводку, но в коде происходит только перебор. Следующее - необходимо учитывать, что есть объединённые ячейки, поэтому нужно для объединённых ячеек брать значения таблицы только для левой верней ячейки объединения.
В общем случае, при отсутствии объединения (код не проверял) будет что-то подобное - запись значения ячейки таблицы Excel в ячейку таблицы слайда
[vba]
Код
            'Если фигура является таблицей
                 If iSlide.Shapes(i).HasTable = msoTrue Then
                     '!!!!!!!!Вставить в таблицу значения из буфера обмена!!!!!!!!!!!
                     Dim pTable As Table, iRow As Long, iCol As Long
                     Dim vData As Variant
                     Set pTable = iSlide.Shapes(i).Table
                     vData = workB.sheets(1).Range("B2:F9").Value
                     For iRow = 1 To UBound(vData)
                         For iCol = 1 To UBound(vData, 2)
                             pTable.Cell(iRow, iCol).Shape.TextFrame.TextRange.Text = vData(iRow, iCol)
                         Next
                     Next
                     'iSlide.Shapes.PasteSpecial ppPasteOLEObject
                     Exit For
                 End If
[/vba]

Автор - anvg
Дата добавления - 04.02.2015 в 11:10
Manyasha Дата: Среда, 04.02.2015, 11:53 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
anvg,
каким образом сопоставляются данные таблицы на рабочем листе Excel и таблицы на слайде

Как я уже писала, макрос еще не доработан, и диапазоны конечно не так будут определятся, да и скорее всего это не единственный недочет в моем коде.)

По Вашему скрипту, СПАСИБО огромное все работает!!! Вы мне очень помогли!


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеanvg,
каким образом сопоставляются данные таблицы на рабочем листе Excel и таблицы на слайде

Как я уже писала, макрос еще не доработан, и диапазоны конечно не так будут определятся, да и скорее всего это не единственный недочет в моем коде.)

По Вашему скрипту, СПАСИБО огромное все работает!!! Вы мне очень помогли!

Автор - Manyasha
Дата добавления - 04.02.2015 в 11:53
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Power Point » Копирование данных из Excel в Powerpoint (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!