Dados do Excel em slides do PowerPoint

5

Eu já encontrei alguns sites úteis, mas ainda não consigo fazer o que eu quero. Meu arquivo do Excel contém poucas colunas e várias linhas. Todos os dados de uma linha estariam em um slide, mas os dados de células diferentes naquela linha deveriam ir para elementos específicos no slide PP. No início, é possível exportar dados de uma célula do Excel para uma caixa de texto específica no PP? Por exemplo, eu gostaria de ter todos os dados da primeira coluna de cada linha indo para uma caixa de texto 1. Digamos que eu tenha 100 linhas, então eu teria 100 slides e cada slide teria texto arco 1 com dados corretos. A caixa de texto do slide 66 teria dados da primeira coluna da linha 66. Então todos os dados da segunda coluna de cada linha iriam para um arco de texto 2 e assim por diante.

Eu tentei fazer algumas macros com mau sucesso. Eu também tentei usar contornos do Word e exportá-los para o PP (Novo slide -> Slides de Outline), mas parece haver um bug desde que eu tenho 250 páginas de rabiscos. Eu tinha apenas dois parágrafos e ambos tinham uma palavra. O primeiro parágrafo usou o estilo do Título 1 e o segundo parágrafo usou o estilo Normal.

Sites que eu encontrei, use VB e / ou alguma outra linguagem de programação para criar slides de planilhas do Excel. Eu tentei adicionar esses códigos VB em minhas macros, mas nenhum deles funcionou até agora. Provavelmente eu não sei como usá-los corretamente :) Aqui estão alguns sites úteis:

VBA: Criar slide do PowerPoint para cada linha na pasta de trabalho do Excel

Criando um relatório de apresentação com base em dados

Pergunta no Stackoverflow

Eu uso o Office 2011 no Mac. Qualquer ajuda seria apreciada!

nqw1
fonte
O primeiro link fará a maior parte do trabalho para você, mas em vez de colar o texto da primeira linha arbitrariamente na primeira caixa de texto do slide, você pode percorrer cada forma no slide e procurar, por exemplo, o texto " Coluna 1 "e substitua-o pelo texto da célula na coluna 1 da primeira linha.
Steve Rindsberg
Eu recebo um erro quando tento executar a macro. Erro está na linha: "Set OWB = Excel.Application.Workbooks.Open (" C: \ list.xlsx ")". Eu mudei para o caminho do arquivo, mas PP continua dizendo "componente ActiveX não pode criar objeto". Qual poderia ser o problema?
nqw1
Você adicionou a referência à biblioteca VBA do Excel no VB Editor (via Ferramentas> Referências)? Você criou uma instância do Excel no seu código? [por exemplo, Dim appXL como Excel.Application, em seguida, Set appXL = CreateObject ("Excel.Application") ou Set appXL = GetObject (, "Excel.Application")]
variant
Estou seguindo estas instruções: craig-tolley.co.uk/2011/06/08/… e eu também adicionei essa referência. Eu não sei como modificar o código em instruções com o que você deu ou é o código em instruções já o suficiente
nqw1
tente www.pptxbuilder.com
Boosted_d16

Respostas:

2

Tente algo assim. Eu fiz alguns mods para que substitua qualquer instância do texto @ COL1 @ no slide com valores da planilha. Aircode não testado, lembre-se.

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
Steve Rindsberg
fonte
Obrigado pela ajuda! Eu ainda recebo o mesmo erro: / Eu recebo um erro quando tento executar a macro. Erro está na linha: "Set OWB = Excel.Application.Workbooks.Open (" C: \ list.xlsx ")". Eu mudei o caminho do arquivo, mas PP continua dizendo "Erro 429: componente ActiveX não pode criar objeto". Eu não sei o que estou fazendo errado: /
nqw1
Receio que a resposta para "O que estou fazendo errado" seja "Você está usando um Mac". Até onde sei, não há suporte para objetos ActiveX no OSX / Office. Há um cara muito inteligente, Ron DeBruin, um especialista em Excel, que acaba de se apaixonar por seu novo Mac e está explorando incompatibilidades Mac / PC VBA. Ele está postando suas descobertas como ele vai: rondebruin.nl/mac.htm Se você não encontrar uma resposta lá, você pode querer procurá-lo na seção Mac Office de answers.microsoft.com
Steve Rindsberg
Eu estendi a solução um pouco - é claro, dando crédito a esta página onde eu tirei a solução para o meu problema. locutus-one.blogspot.de/2012/08/…
2

A Importação do Excel Suplemento do PowerPoint pode importar dados do Excel para o PowerPoint

O que faz

  • importa dados do Excel para sua apresentação aberta
    Método: Uma linha do Excel por slide do PowerPoint, uma célula por campo de texto no slide atual
  • pode escolher a planilha do Excel para coletar dados se várias folhas estiverem presentes
  • pode adicionar slides automaticamente se o arquivo do Excel tiver mais linhas que slides no Powerpoint
  • avisa se não houver campos de texto (formas) suficientes para conter todos os dados de uma linha
  • funciona com todas as versões do Microsoft Office

Como usar

  • Baixe o Add-In
  • salve-o em sua pasta do Micorsoft Office Add-In
    Dica: pressione Win+ Re digite % AppData% \ Roaming \ Microsoft \ AddIns
  • Abra o PowerPoint e ative o suplemento
    • Excel 2003: barra de menu → Ferramentas → Suplementos
    • Excel 2007: Botão Iniciar → Opções do Excel → Suplementos → suspenso: Suplementos do Excel → Ir
    • Excel 2010: guia Arquivo → Opções → Suplementos → suspenso: Suplementos do Excel → Ir
  • uma nova entrada na barra de menus irá aparecer
    insira a descrição da imagem aqui
  • o novo botão Importar dados do Excel exibirá uma caixa de diálogo Arquivo para escolher o arquivo do Excel.
    Se você tiver campos de texto suficientes, o suplemento os preencherá

Veja este pequeno álbum imgur para ilustrar o Add-in


Nota: Se desejar personalizar o código, você deverá adicionar uma chave do Registro para ver o código do add-in.
O código fonte pode ser visto no pastebin

nixda
fonte
0

O PPTools não funciona em 64 bits, que agora é padrão.

PowerPoint irá abrir o Word Docs. E o Word abrirá o HTML.

  1. No Excel, insira uma coluna à esquerda.
  2. Coloque a tag HTML <h1> em todas as células dessa coluna.
  3. Em uma coluna na extrema direita, coloque a tag html </ h1> em cada célula.
  4. Copie / Cole a folha inteira no bloco de notas.
  5. Adicione estas tags no topo: <html> <body>
  6. Adicione estas tags na parte inferior: </ body> </ html>
  7. Procure / Substitua todas as abas por nada, a fim de se livrar delas.
  8. Salve isso como algo.html. Agora feche.
  9. Abra no Word.
  10. Salve como algo.docx
  11. Agora feche.
  12. Abra algo.docx no PowerPoint (escolha "todos os arquivos" em vez de "* .pptx").
  13. PowerPoint deve importar o conteúdo completo agora, com cada linha como um slide.
Matt no NH
fonte