Tym razem kilka słów na temat integracji aplikacji Excel z aplikacją PowerPoint. Zaprezentuję prostą operację polegającą na wkopiowaniu do PowerPointa obiektów pochodzących z arkusza Excel:
oraz ustawimy odpowiednie pozycje i wymiary dla powyższych elementów slajdu.
Warto zwrócić szczególną uwagę w poniższym kodzie na edycję z wykorzystaniem zmiennych obiektowych. Zabieg ten jest przeprowadzony celowo w celu poprawienia czytelności kodu oraz wyraźnego wydzielenia, które operacje-obiekty dotyczą Excela, a które PowerPoint'a. Jedyną wada tego rodzaju zapisu to wydłużenie całej procedury o szereg linii związanych z deklaracją zmiennych i ich ustawieniem (linie Dim i Set).
Cała poniższa procedura działa dla prostego pliku Excela, gdzie w arkuszu Arkusz1 (nazwa kodowa arkusza) znajduje się jeden wykres oraz zakres danych wykresu znajduje się w komórkach A1:C4. Pozostałe ważne informacje i wskazówki znaleźć można w poniższym kodzie w postaci komentarzy.
01 | Sub Interakcja_z_PowerPoint() |
05 | Dim appPP As PowerPoint.Application |
06 | Set appPP = New PowerPoint.Application |
13 | Dim presPP As PowerPoint.Presentation |
14 | Set presPP = appPP.Presentations.Add |
17 | Dim sldPP As PowerPoint.Slide |
18 | Set sldPP = presPP.Slides.AddSlide(1, presPP.SlideMaster.CustomLayouts(7)) |
24 | Dim chrEXL As ChartObject |
25 | Set chrEXL = Arkusz1.ChartObjects(1) |
30 | Dim chrPP As PowerPoint.Shape |
31 | Set chrPP = sldPP.Shapes.Paste(1) |
41 | sldPP.Shapes.PasteSpecial ppPasteJPG |
42 | Set chrPP = sldPP.Shapes(sldPP.Shapes.Count) |
45 | .Left = sldPP.Master.Width / 2 |
50 | Set rngEXL = Arkusz1.Range( "a1:c4" ) |
54 | Dim rngPP As PowerPoint.Shape |
55 | Set rngPP = sldPP.Shapes.Paste(1) |
58 | .Top = sldPP.Master.Height / 2 |
64 | sldPP.Shapes.PasteSpecial ppPasteBitmap |
65 | Set rngPP = sldPP.Shapes(sldPP.Shapes.Count) |
67 | .Top = sldPP.Master.Height / 2 |
68 | .Left = sldPP.Master.Width / 2 |
Efektem działania powyższej procedury jest poniższy przykładowy slajd w prezentacji PowerPoint.
Brak komentarzy:
Prześlij komentarz