
Ya encontré algunos sitios útiles pero todavía no puedo hacer lo que quiero. Mi archivo de Excel contiene pocas columnas y varias filas. Todos los datos de una fila estarían en una diapositiva, pero los datos de diferentes celdas en esa fila deberían ir a elementos específicos en la diapositiva PP. Al principio, ¿es posible exportar datos desde una celda de Excel a un cuadro de texto específico en PP? Por ejemplo, me gustaría que todos los datos de la primera columna de cada fila vayan al cuadro de texto 1. Digamos que tengo 100 filas, por lo que tendría 100 diapositivas y cada diapositiva tendría el arco de texto 1 con los datos correctos. El cuadro de texto de la diapositiva 66 tendría datos de la primera columna de la fila 66. Luego, todos los datos de la segunda columna de cada fila irían a un arco de texto 2 y así sucesivamente.
Intenté hacer algunas macros con mal éxito. También intenté usar esquemas de Word y exportarlos a PP (Nueva diapositiva -> Diapositivas desde esquema) pero parece haber un error ya que obtuve 250 páginas de galimatías. Tenía sólo dos párrafos y ambos tenían una palabra. El primer párrafo utilizó el estilo Título 1 y el segundo párrafo utilizó el estilo Normal.
Los sitios que he encontrado utilizan VB y/o algún otro lenguaje de programación para crear diapositivas a partir de hojas de Excel. Intenté agregar esos códigos VB a mis macros, pero ninguno de ellos ha funcionado hasta ahora. Probablemente simplemente no sé cómo usarlos correctamente :) Aquí hay algunos sitios útiles:
VBA: cree una diapositiva de PowerPoint para cada fila en el libro de Excel
Crear un informe de presentación basado en datos
Utilizo Office 2011 en Mac. ¡Cualquier ayuda sería apreciada!
Respuesta1
Prueba algo como esto. Hice algunas modificaciones para que reemplace cualquier instancia del texto @COL1@ en la diapositiva con valores de la hoja de trabajo. Código aéreo no probado, eso sí.
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
Respuesta2
El complemento de PowerPointImportación de Excelpuede importar datos de Excel a PowerPoint
Que hace
- importa datos de Excel a su presentación abierta
Método: una fila de Excel por diapositiva de PowerPoint, una celda por campo de texto en la diapositiva actual - Puede elegir la hoja de Excel para tomar datos si hay varias hojas presentes.
- puede agregar diapositivas automáticamente si su archivo de Excel tiene más filas que diapositivas en Powerpoint
- le advierte si no hay suficientes campos de texto (formas) para contener todos los datos de una fila
- funciona con todas las versiones de Microsoft Office
Cómo utilizar
- Descargar elComplemento
- guárdelo en su carpeta de complementos de Micorsoft Office
Consejo: presione Win+ Ry escriba%AppData%\Roaming\Microsoft\AddIns - Abra PowerPoint y habilite el complemento
- Excel 2003: barra de menú → Herramientas → Complementos
- Excel 2007: botón Inicio → Opciones de Excel → Complementos → menú desplegable: complementos de Excel → Ir
- Excel 2010: pestaña Archivo → Opciones → Complementos → menú desplegable: complementos de Excel → Ir
- Aparecerá una nueva entrada en la barra de menú.
- el nuevoImportar datos de ExcelAparecerá un cuadro de diálogo Archivo para elegir su archivo de Excel.
Si tiene suficientes campos de texto, el complemento los completará
Ver este cortoálbum imgurpara ilustrar el complemento
Nota: Si quieres personalizar el código tienes queagregar una clave de registropara ver el código del complemento.
El código fuente puede servisto en Pastebin
Respuesta3
PPTools no funciona en 64 bits, que ahora es el estándar.
PowerPoint abrirá documentos de Word. Y Word abrirá HTML.
- En Excel, inserte una columna a la izquierda.
- Coloque la etiqueta HTML <h1> en cada celda de esa columna.
- En una columna en el extremo derecho, coloque la etiqueta html </h1> en cada celda.
- Copie/pegue la hoja completa en el bloc de notas.
- Añade estas etiquetas en la parte superior: <html><body>
- Añade estas etiquetas en la parte inferior: </body></html>
- Busque/Reemplace todas las pestañas sin nada para deshacerse de ellas.
- Guárdalo como algo.html. Ahora ciérralo.
- Ábrelo en Word.
- Guárdalo como algo.docx
- Ahora ciérralo.
- Abra algo.docx en PowerPoint (elija "todos los archivos" en lugar de "*.pptx").
- PowerPoint DEBE importar el contenido completo ahora, con cada fila como una diapositiva.