S'ha dit que fins al 50 per cent de les presentacions de PowerPoint contenen dades que s'han copiat directament d'Excel. Aquesta afirmació no és difícil de creure. Sovint és molt més fàcil analitzar i crear gràfics i vistes de dades a Excel que a PowerPoint. Un cop creats aquests gràfics i vistes de dades, per què no els moveu simplement a PowerPoint? La macro d'aquesta secció us permet crear de forma dinàmica diapositives de PowerPoint que continguin dades d'un interval que especifiqueu.
Podeu descarregar un exemple de treball d' enviament de dades d'Excel a PowerPoint .
Com funciona la macro
En aquest exemple, copieu un interval d'un fitxer Excel i enganxeu aquest interval a una diapositiva en una presentació de PowerPoint recentment creada.
Tingueu en compte que, com que aquest codi s'executarà des d'Excel, heu d'establir una referència a la biblioteca d'objectes de Microsoft PowerPoint. Podeu establir la referència obrint l'Editor de Visual Basic a Excel i escollint Eina → Referències. Desplaceu-vos cap avall fins que trobeu l'entrada Biblioteca d'objectes de Microsoft PowerPoint xx , on xx és la vostra versió de PowerPoint. Marqueu la casella de selecció que hi ha al costat de l'entrada.
Sub CopyRangeToPresentation ()
"Pas 1: declara les teves variables
Dim PP com a PowerPoint.Aplicació
Dim PPPres com a PowerPoint.Presentation
Dim PPSlide com a PowerPoint.Slide
Dim SlideTitle com a cadena
"Pas 2: obriu PowerPoint i creeu una presentació nova
Establir PP = Nou PowerPoint.Aplicació
Estableix PPPres = PP.Presentations.Add
PP.Visible = Cert
"Pas 3: afegiu una nova diapositiva com a diapositiva 1 i fixeu-hi el focus
Estableix PPSlide = PPPres.Slides.Add(1, ppLayoutTitleOnly)
PPSlide.Select
"Pas 4: copieu l'interval com a imatge
Fulls("Dades de la diapositiva").Range("A1:J28").CopyPicture _
Aparença:=xlScreen, Format:=xlPicture
"Pas 5: enganxeu la imatge i ajusteu-ne la posició
PPSlide.Shapes.Paste.Select
PP.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
PP.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
"Pas 6: afegiu el títol a la diapositiva
SlideTitle = "La meva primera diapositiva de PowerPoint"
PPSlide.Shapes.Title.TextFrame.TextRange.Text = SlideTitle
"Pas 7: neteja de memòria
PP.Activar
Estableix PPSlide = Res
Estableix PPPres = Res
Set PP = Res
Final sub
Al pas 1, declareu quatre variables: PP és una variable d'objecte que exposa l'objecte d'aplicació de PowerPoint, PPPres és una variable d'objecte que exposa l'objecte Presentació de PowerPoint, PPSlide és una variable d'objecte que exposa l'objecte de diapositiva de PowerPoint i SlideTitle és una cadena variable utilitzada per passar el text del títol de la diapositiva.
El pas 2 obre PowerPoint amb una presentació buida. Tingueu en compte que establiu la propietat Visible de l'aplicació PowerPoint en True per assegurar-vos que podeu veure l'acció mentre s'executa el codi.
Al pas 3, afegiu una nova diapositiva a la presentació mitjançant el mètode Afegeix de l'objecte Diapositiva. Tingueu en compte que esteu utilitzant ppLayoutTitleOnly, assegurant-vos que la diapositiva es crea amb un marc de text de títol. A continuació, feu un pas addicional i poseu el focus a la diapositiva. És a dir, dieu explícitament a PowerPoint que seleccioneu aquesta diapositiva, fent-la activa.
Al pas 4, utilitzeu el mètode CopyPicture per copiar l'interval objectiu com a imatge. L'interval que es copia aquí és l'interval A1 a J28 a la pestanya Dades de la diapositiva.
El pas 5 enganxa la imatge a la diapositiva activa i centra la imatge tant horitzontalment com verticalment.
Al pas 6, emmagatzemeu el text del títol en una variable de cadena i després passeu aquesta variable a PowerPoint per aplicar text al marc de text del títol.
Al pas 7, allibereu els objectes assignats a les vostres variables, reduint la possibilitat de problemes causats pels objectes rouges que poden romandre oberts a la memòria.
Com utilitzar la macro
Per implementar aquesta macro, podeu copiar-la i enganxar-la en un mòdul estàndard:
Activeu Visual Basic Editor prement Alt+F11.
A la finestra Projecte, cerqueu el nom del vostre projecte/llibre de treball.
Seleccioneu Insereix → Mòdul.
Escriviu o enganxeu el codi.