Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Jak vytvářet PowerPointové snímky z Excel využitím VBA
Pro přehlednost jsou ukázky rozděleno na jednotlivé kapitoly:
Vytvoříme první prázdný snímek
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
' Vytvořit PowerPoint
Set PPApp = CreateObject("Powerpoint.Application")
PPApp.Visible = True
' Tvorba prezentace
Set PPPres = PPApp.Presentations.Add
PPApp.ActiveWindow.ViewType = ppViewSlide
'snímek
Set PPSlide = PPPres.Slides.Add(1, ppLayoutTitleOnly)
Předpokládám, že máte k dispozici Microsoft PowerPoint Object Library. Zaškrtnuto v VBAProject-References.
Do snímku doplníme titulek
PPSlide.Shapes.Title.TextFrame.TextRange.Text = "JakNaExcel.cz je super"
Text se dají i upravovat a měnit barvy
Předpokladem graf na list 1 s názvem Graf 1
Set objChart = Worksheets("List1").ChartObjects("Graf 1").Chart
objChart.ChartArea.Copy
Set myShapeRange = PPSlide.Shapes.Paste
Jak změnit rozměry a posunout graf (proto jsem si jej v předchzím "uložil" Set myShapeRange).
With myShapeRange
'.Width = 1000
'.Height = 100
.Left = 50
.Top = 150
End With
Přidání nového smínku č 2.
Set PPSlide = PPPres.Slides.Add(2, Layout:=ppLayoutText)
Pokud vše máme můžeme ukončit/ uložit a zavřít a uklidit.
' Uložit a zavřít
With PPPres
.SaveAs "d:\test\Moj-prvni-prezentace.ppt"
.Close
End With
' Konec PowerPoint
PPApp.Quit
' čištění ;)
Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing
Celkový kód, pro ukázku
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
' Vytvořit PowerPoint
Set PPApp = CreateObject("Powerpoint.Application")
PPApp.Visible = True
' Tvorba prezentace
Set PPPres = PPApp.Presentations.Add
PPApp.ActiveWindow.ViewType = ppViewSlide
'snímek
Set PPSlide = PPPres.Slides.Add(1, ppLayoutTitleOnly)
'popis
PPSlide.Shapes.Title.TextFrame.TextRange.Text = "JakNaExcel.cz je super"
'vložení graf
Set objChart = Worksheets("List1").ChartObjects("Chart 1").Chart
objChart.ChartArea.Copy
Set myShapeRange = PPSlide.Shapes.Paste
With myShapeRange
' .Width = 1000
' .Height = 100
.Left = 50
.Top = 150
End With
'další snímek
Set PPSlide = PPPres.Slides.Add(2, Layout:=ppLayoutText)
' Uložení
With PPPres
.SaveAs "D:\Test\MyPreso.ppt"
End With
Postupem času přidám další kódy jak na přidavat a upravovat snímky v PowerPoint pomocí VBA z Excel.
Článek byl aktualizován: 19.09.2020 11:07
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Přidáno: 08.04.16 20:39
Dako mi to nefunguje. Ked zakomentujem cast o grafe tak mi vytvori prvy aj druhy snímok. Inac po prvom snimku skonci chybovym hlasenim...
Přidáno: 29.04.16 20:08
To miro: Máte aktivované Microsoft PowerPoint X.0 Object Library ? Případně dooporučuji zkusit zadat do google chybovou hlášku. Určitě někdo řešil podobný problém.
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2024 |