Első lépésben most is csatlakozunk a PowerPoint alkalmazáshoz, de most nem megnyitunk egy már létező bemutatót, hanem létrehozunk egy újat a Presentations objektum Add függvényével.

Add
Osztály: Application
Add(
WithWindow
)
A függvénnyel egy új bemutatót hozhatunk létre.
Paraméterek
WithWindow
Ha a paraméter értéke igaz, akkor az új bemutatót ablakban hozza létre, ellenkező esetben „rejtve” marad.
Visszatérési érték
A függvény visszatérési értéke a létrehozott Presentation objektum.
Ha létrehoztuk a bemutatót, akkor rögtön készítünk egy új diát is. A diák a Presentation objektum Slides property-jén keresztül érhetők el. Új diát a Slides obbjektum Add függvényével hozhatunk létre.

Add
Osztály: Slides
Add(
Index,
Layout
)
Létrehoz egy új diát.
Paraméterek
Index
Az új dia indexe. Nem lehet nagyobb, mint a diák száma + 1. Ha olyan indexet adunk meg, ami már létezik, akkor az adott indexű dia elé szúrja be az új diát.
Layout
Az új dia elrendezése, amit egy PpSlideLayout konstanssal adhatunk meg. A programból hozzuk létre a diát, akkor általában a legjobb választás, ha egy üres diát hozunk létre. Ehhez a ppLayoutBlank ($0C) konstanst kell használnunk.
Visszatérési érték
Az új dia Slide objektuma.
A dián elhelyezett különböző objektumokat a Shapes property-n keresztül érhetjük el. Ennek függvényeivel hozhatunk létre új képet vagy szövegdobozt, vagy egyéb objektumokat. Kép beszúrásához az AddPicture függvényt használjuk:
Shape:=Slide.Shapes.AddPicture(ExtractFilePath(Application.ExeName)+'logo.bmp', false, true, 10, 20);
Szövegdobozt az AddTextBox függvénnyel tudunk létrehozni:

AddTextbox
Osztály: Shapes
AddTextbox(
Orientation,
Left,
Top,
Width,
Height
)
Ezzel a függvénnyel hozhatunk létre új szövegdobozt.
Paraméterek
Orientation
A szöveg iránya a szövegdobozban. Értékeit az alábbi MsoTextOrientation típusú konstansokkal adhatjuk meg:
| Konstans |
Érték |
| msoTextOrientationMixed |
$FFFFFFFE |
| msoTextOrientationHorizontal |
$00000001 |
| msoTextOrientationUpward |
$00000002 |
| msoTextOrientationDownward |
$00000003 |
| msoTextOrientationVerticalFarEast |
$00000004 |
| msoTextOrientationVertical |
$00000005 |
| msoTextOrientationHorizontalRotatedFarEast |
$00000006 |
Left
A szövegdoboz bal szélének koordinátája pontban megadva.
Top
A szövegdoboz felső szélének koordinátája pontban megadva.
Width
A szövegdoboz szélessége.
Height
A szövegdoboz magassága.
Visszatérési érték
Az új szövegdoboz objektumát (Shape) adja vissza.
A szövegdobozban lévő szöveget a TextFrame property-n keresztül formázhatjuk meg.

AutoSize
Osztály: TextFrame
property AutoSize;
A szövegdoboz automatikus méretezésének módját adhatjuk meg ebben a property-ben egy PpAutoSize típusú konstanssal. Ezek a következők lehetnek:
| Konstans |
Érték |
| ppAutoSizeMixed |
$FFFFFFFE |
| ppAutoSizeNone |
$00000000 |
| ppAutoSizeShapeToFitText |
$00000001 |

HasText
Osztály: TextFrame
property HasText;
A property értéke igaz, ha a szövegdoboz (vagy Shape objektum) tartalmaz szöveget.

HorizontalAnchor
Osztály: TextFrame
property HorizontalAnchor;
A horgony vízszintes igazítását határozza meg ez a property. Ettől függ, hogy a Left property értékéből hogyan számolja ki az objektum pozícióját. Értékei az alábbiak lehetnek:
| Konstans |
Érték |
| msoHorizontalAnchorMixed |
$FFFFFFFE |
| msoAnchorNone |
$00000001 |
| msoAnchorCenter |
$00000002 |

MarginBottom
Osztály: TextFrame
property MarginBottom;
Az alsó margó mérete pontban megadva.

MarginLeft
Osztály: TextFrame
property MarginLeft;
A bal margó mérete pontban megadva.

MarginRight
Osztály: TextFrame
property MarginRight;
A jobb margó mérete pontban megadva.

MarginTop
Osztály: TextFrame
property MarginTop;
A felső margó mérete pontban megadva.

Orientation
Osztály: TextFrame
property Orientation;
A szöveg iránya (lásd AddTextBox függvény).

TextRange
Osztály: TextFrame
property TextRange;
Egy TextRange objektumot ad vissza, amelyen keresztül megadhatjuk a szöveget, és a szöveg tulajdonságait.

VerticalAnchor
Osztály: TextFrame
property VerticalAnchor;
A horgony függőleges igazítása. Ettől függ, hogy az objektum függőleges pozícióját hogyan számolja ki a Top property-ből. Értékei az alábbiak lehetnek:
| Konstans |
Érték |
| msoVerticalAnchorMixed |
$FFFFFFFE |
| msoAnchorTop |
$00000001 |
| msoAnchorTopBaseline |
$00000002 |
| msoAnchorMiddle |
$00000003 |
| msoAnchorBottom |
$00000004 |
| msoAnchorBottomBaseLine |
$00000005 |

WordWrap
Osztály: TextFrame
property WordWrap;
Ha a property értéke igaz, akkor a szöveg több sorra automatikusan úgy lesz tördelve, hogy beleférjenek a szövegdobozba.
Szó volt a TextRange objektumról, amelyen keresztül a szövegdobozba írt szöveget formázhatjuk. Most nézzük meg ennek néhány fontos property-jét:

Font
Osztály: TextRange
property Font;
A szöveg betűtípusát állíthatjuk be a Font property-n keresztül. A Font objektum Name property-jében adhatjuk meg a betűtípus nevét, a Size property-ben a méretét. A betű stílusát a Bold (félkövér), Italic (dőlt), és Underlined (aláhúzott) logikai property-kben adhatjuk meg.

Text
Osztály: TextRange
property Text;
A szövegdobozban megjelenő szöveget adhatjuk meg ebben a property-ben.

ParagraphFormat
Osztály: TextRange
property ParagraphFormat;
A szövegdobozban megjelenő szöveg bekezdéseinek formázását, így például a szöveg igazítását állíthatjuk be ebben a property-ben.:
Shape.TextFrame.TextRange.ParagraphFormat.Alignment:=ppAlignCenter;
A Shape objektumok megjelenítésének animációját az AnimationSettings objektumon keresztül tudjuk megadni. Egy későbbi részben erről részletesen is szó lesz, most csak a példaprogramban használt property-ket ismertetjük. Az EntryEffect property-ben beállítjuk azt az animációt, amellyel az objektum megjelenik a dián. Ezt egy PpEntryEffect típusú konstanssal adhatjuk meg. Szövegdoboznál megadhatjuk, hogy a szöveget milyen egységekre bontsa fel az animáció során. Végrehajthatjuk az animációt egyszerre akár az egész szövegen, vagy akár betűnként külön-külön is. Ezt a TextUnitEffect property-ben adhatjuk meg. Megadhatjuk azt is, hogy bekezdésenként hogyan bontsa fel a szöveget (első szintű, másod szintű, stb., egészen az 5. szintű bekezdésekig), ehhez a TextlevelEffect property-t kell használnunk. Az AdvanceMode property-ben megadjuk, hogy az animáció az AdvanceTime property-ben megadott idő letelte után hajtódjon végre. Ha az AdvanceTime property-ben 0-át adunk meg, akkor rögtön az előző animáció befejezése után elindul. Az időt másodpercben kell megadni.
Shape.TextFrame.TextRange.ParagraphFormat.Alignment:=ppAlignCenter;
Shape.AnimationSettings.EntryEffect:=ppEffectFlyFromLeft;
Shape.AnimationSettings.TextLevelEffect:=ppAnimateByAllLevels;
Shape.AnimationSettings.AdvanceTime:=0;
Shape.AnimationSettings.AdvanceMode:=ppAdvanceOnTime;
Shape.AnimationSettings.TextUnitEffect:=ppAnimateByCharacter;
Miután a diánk elkészült, a SaveAs függvénnyel elmenthetjük.

SaveAs
Osztály: Presentation
SaveAs(
Filename,
FileFormat,
EmbedFonts
)
Elmenti a bemutatót a megadott fájlba.
Paraméterek
Filename
A fájl neve.
FileFormat
A fájl formátuma. A fájl formátumát egy PpSaveAsFileType típusú konstanssal adhatjuk meg. Ennek értékei a következők lehetnek:
| Konstans |
Érték |
| ppSaveAsPresentation |
$00000001 |
| ppSaveAsPowerPoint7 |
$00000002 |
| ppSaveAsPowerPoint4 |
$00000003 |
| ppSaveAsPowerPoint3 |
$00000004 |
| ppSaveAsTemplate |
$00000005 |
| ppSaveAsRTF |
$00000006 |
| ppSaveAsShow |
$00000007 |
| ppSaveAsAddIn |
$00000008 |
| ppSaveAsPowerPoint4FarEast |
$0000000A |
| ppSaveAsDefault |
$0000000B |
| ppSaveAsHTML |
$0000000C |
| ppSaveAsHTMLv3 |
$0000000D |
| ppSaveAsHTMLDual |
$0000000E |
| ppSaveAsMetaFile |
$0000000F |
| ppSaveAsGIF |
$00000010 |
| ppSaveAsJPG |
$00000011 |
| ppSaveAsPNG |
$00000012 |
| ppSaveAsBMP |
$00000013 |
EmbedFonts
Ha a paraméter értéke igaz, akkor a használt betűtípusokat (fontokat) is elmenti a fájlba.
Visszatérési érték
Az elmentett bemutató Presentation objektumát adja vissza.