Данные Excel в слайды PowerPoint

56654
nqw1

Я уже нашел несколько полезных сайтов, но я все еще не могу делать то, что хочу. Мой файл Excel содержит несколько столбцов и несколько строк. Все данные из одной строки будут находиться на одном слайде, но данные из разных ячеек в этой строке должны идти к определенным элементам на слайде PP. Во-первых, возможно ли экспортировать данные из ячейки Excel в определенное текстовое поле в PP? Например, я хотел бы, чтобы все данные из первого столбца каждой строки были помещены в текстовое поле 1. Допустим, у меня есть 100 строк, поэтому у меня будет 100 слайдов, и на каждом слайде будет текстовый лук 1 с правильными данными. Текстовое поле слайда 66 будет содержать данные из первого столбца строки 66. Затем все данные из второго столбца каждой строки будут идти в текстовый лук 2 и так далее.

Я пытался сделать некоторые макросы с неудачным успехом. Я также пытался использовать контуры Word и экспортировать их в PP (Новый слайд -> Слайды из контура), но, похоже, есть ошибка, так как я получил 250 страниц излишних слов. У меня было только два параграфа, и у обоих было одно слово. Первый абзац использовал стиль заголовка 1, а второй абзац использовал стиль Normal.

Сайты, которые я нашел, используют VB и / или какой-либо другой язык программирования для создания слайдов из листов Excel. Я пытался добавить эти коды VB в мои макросы, но ни один из них до сих пор не работал. Вероятно, я просто не знаю, как правильно их использовать :) Вот несколько полезных сайтов:

VBA: создание слайдов PowerPoint для каждой строки в книге Excel

Создание презентационного отчета на основе данных

Вопрос в Stackoverflow

Я использую Office 2011 на Mac. Любая помощь будет оценена!

5
Первая ссылка сделает большую часть работы за вас, но вместо вставки текста из первой строки в произвольное первое текстовое поле на слайде, вы можете пройтись по каждой фигуре на слайде и искать, скажем, текст как " Столбец 1 ", и замените его текстом из ячейки в столбце 1 первой строки. Steve Rindsberg 13 лет назад 0
I get an error when I try to run the macro. Error is on the line: "Set OWB = Excel.Application.Workbooks.Open("C:\list.xlsx")". I have changed to file path but PP keeps saying "ActiveX component cannot create object". What could be the problem? nqw1 13 лет назад 0
Вы добавили ссылку на библиотеку VBA в Excel в VB Editor (через Инструменты> Ссылки)? Вы создали экземпляр Excel в своем коде? [например, Dim appXL as Excel.Application, затем установите appXL = CreateObject («Excel.Application») или Set appXL = GetObject (, «Excel.Application»)] variant 13 лет назад 0
Я следую этим инструкциям: http://www.craig-tolley.co.uk/2011/06/08/vba-create-powerpoint-slide-for-each-row-in-excel-workbook/ и у меня было также добавил, что ссылка. Я не знаю, как изменить код в инструкциях с тем, который вы дали, или кода в инструкциях уже достаточно nqw1 13 лет назад 0
попробуйте www.pptxbuilder.com Boosted_d16 6 лет назад 0

3 ответа на вопрос

2
Steve Rindsberg

Попробуйте что-то вроде этого. Я сделал несколько модов, чтобы он заменял любой текст @ COL1 @ на слайде значениями из рабочего листа. Не проверенный воздушный код, имейте в виду.

Sub CreateSlides() 'Open the Excel workbook. Change the filename here. Dim OWB As New Excel.Workbook Set OWB = Excel.Application.Workbooks.Open("C:\list.xlsx") 'Grab the first Worksheet in the Workbook Dim WS As Excel.Worksheet Dim sCurrentText As String Dim oSl As Slide Dim oSh As Shape Set WS = OWB.Worksheets(1) Dim i As Long 'Loop through each used row in Column A For i = 1 To WS.Range("A65536").End(xlUp).Row 'Copy the first slide and paste at the end of the presentation ActivePresentation.Slides(1).Copy Set oSl = ActivePresentation.Slides.Paste(ActivePresentation.Slides.Count + 1) sCurrentText = WS.Cells(i, 1).Value  ' find each shape with "@COL1@" in text, replace it with value from worksheet For Each oSh In oSl.Shapes ' Make sure the shape can hold text and if is, that it IS holding text If oSh.HasTextFrame Then If oSh.TextFrame.HasText Then ' it's got text, do the replace With oSh.TextFrame.TextRange .Replace "@COL1@", sCurrentText End With End If End If Next Next End Sub 
Спасибо за вашу помощь! Я все еще получаю ту же ошибку: / Я получаю ошибку, когда пытаюсь запустить макрос. Ошибка в строке: «Установить OWB = Excel.Application.Workbooks.Open (« C: \ list.xlsx »)». Я изменил путь к файлу, но PP продолжает говорить «Ошибка 429: компонент ActiveX не может создать объект». Я не знаю, что я делаю не так: / nqw1 13 лет назад 0
Боюсь, что ответом «Что я делаю не так» может быть «Вы используете Mac». Насколько я знаю, в OSX / Office нет поддержки объектов ActiveX. Есть * очень * умный парень, Рон ДеБруин, эксперт по Excel, который просто влюбился в свой новый Mac и исследует несовместимости Mac / PC VBA. Он публикует свои результаты на ходу: http://www.rondebruin.nl/mac.htm Если вы не найдете там ответа, возможно, вы захотите найти его в разделе Mac Office http: // answers. microsoft.com Steve Rindsberg 13 лет назад 0
Я немного расширил решение - конечно, отдавая должное этой странице, откуда я взял решение для моей проблемы. http://locutus-one.blogspot.de/2012/08/data-from-excel-to-powerpoint.html 12 лет назад 0
2
nixda

PowerPoint Add-In Excel Импорт можно импортировать данные Excel в PowerPoint

Что оно делает

  • импортирует данные Excel в вашу открытую презентацию.
    Метод: одна строка Excel на слайд PowerPoint, одна ячейка на текстовое поле на текущем слайде
  • можно выбрать лист Excel для получения данных, если присутствует несколько листов
  • может автоматически добавлять слайды, если в вашем файле Excel больше строк, чем слайдов в Powerpoint
  • предупреждает, если текстовых полей (фигур) недостаточно для размещения всех данных из строки
  • работает с каждой версией Microsoft Office

Как пользоваться

  • Скачать надстройку
  • сохраните его в папке надстроек Micorsoft Office.
    Совет: нажмите Win+ Rи введите % AppData% \ Roaming \ Microsoft \ AddIns
  • Откройте PowerPoint и включите надстройку
    • Excel 2003: Menubar → Инструменты → Надстройки
    • Excel 2007: кнопка Пуск → Параметры Excel → Надстройки → раскрывающийся список: Надстройки Excel → Перейти
    • Excel 2010: вкладка «Файл» → «Параметры» → «Надстройки» → раскрывающийся список: «Надстройки Excel» → «Перейти».
  • появится новая строка меню
    enter image description here
  • Новая кнопка « Импорт данных Excel» откроет диалоговое окно «Файл», чтобы выбрать файл Excel.
    Если у вас достаточно текстовых полей, надстройка заполнит их

Просмотрите этот короткий imgur альбом, чтобы проиллюстрировать надстройку


Примечание. Если вы хотите изменить код, вам нужно добавить раздел реестра, чтобы увидеть код надстройки.
Исходный код можно посмотреть на pastebin

0
Matt in NH

PPTools не работает на 64-битной версии, которая сейчас является стандартной.

PowerPoint откроет документы Word. И Word откроет HTML.

  1. В Excel вставьте столбец слева.
  2. Поместите HTML-тег <h1> в каждую ячейку в этом столбце.
  3. В крайнем правом столбце поместите тег html </ h1> в каждую ячейку.
  4. Скопируйте / Вставьте весь лист в блокнот.
  5. Добавьте эти теги вверху: <html> <body>
  6. Добавьте эти теги внизу: </ body> </ html>
  7. Поиск / замена всех вкладок ни с чем, чтобы избавиться от них.
  8. Сохраните это как-то .html. Теперь закрой его.
  9. Откройте это в Word.
  10. Сохраните это как что-то .docx
  11. Теперь закрой его.
  12. Откройте что-то.docx в PowerPoint (выберите «все файлы» вместо «* .pptx»).
  13. PowerPoint СЛЕДУЕТ импортировать весь контент сейчас, с каждой строкой в ​​виде слайда.