Delphi - Szövegbevitel, formázás Word-be

Office 3. rész

forráskód letöltése
Az előző számban az alapvető funkciókkal ismerkedtünk meg a Word programozásáról. Ebből a cikkből megtudhatjuk, hogy hogyan lehet a Word-be beírt szöveget megformázni. Ha már szöveget írunk a Word-be, akkor nyilvánvalóan szeretnénk azt meg is formázni. A Word-ben rengeteg formázási lehetőséget találunk, mi most ezek közül a bekezdés és a betű formázás néhány alapvető funkcióját valósítjuk meg.

A formázáshoz a remélhetőleg már jól ismert Selection osztályt kell felhasználnunk.

Először vegyük sorba, hogy mik azok az alapvető formázási funkciók, amiket a leggyakrabban használunk szövegszerkesztés során. Elsőként talán a betűtípus és a stílus jut eszünkbe. Azután a bekezdés formázás, ezen belül is a sortávolság és a szöveg igazítása (balra, jobbra, sorkizárt, stb.), esetleg még a tabulátor pozíciók. Talán kezdetnek ennyi elég is.

A kijelölt szöveg betűtípusának formázásához a már említett Selection osztály Font property-jét kell használnunk.
WordApp.Selection.Font.Name := 'Arial';
WordApp.Selection.Font.Size := 14;
WordApp.Selection.Font.Bold := true;
WordApp.Selection.Font.Italic := false;
WordApp.Selection.Font.Underline := false;
WordApp.Selection.Font.Superscript := false;
WordApp.Selection.Font.Subscript := false;
WordApp.Selection.Font.Smallcaps := false;
A Superscript és Subscript property-k a kijelölt szöveg felső, ill. alsó index formátumra való konvertálását végzik. A Smallcaps property a "kis kapitális" megjelenítést állítja be. A többi tulajdonság talán nem szorul magyarázatra!

A bekezdés formázásához a Selection.Paragraphs osztályt kell használni. Ennél szintén rengeteg tulajdonságot beállíthatunk, de nézzük a legfontosabbakat.
WordApp.Selection.Paragraphs.Alignment := Align;
Az Align értéke a következő konstansok valamelyike lehet: wdAlignParagraphLeft, wdAlignParagraphCenter, wdAlignParagraphDistribute, wdAlignParagraphRight, wdAlignParagraphJustify, wdAlignParagraphJustifyHi, wdAlignParagraphJustifyLow, vagy wdAlignParagraphJustifyMed.

Most nézzük a sortávolság beállítását. Viszonylag könnyű helyzetben vagyunk, mert a három leggyakrabban használt beállításhoz van egy-egy metódus:
WordApp.Selection.Paragraphs.Space1;
WordApp.Selection.Paragraphs.Space15;
WordApp.Selection.Paragraphs.Space2;
A Space1 az egyszeres, a Space15 a másfélszeres és a Space2 a kétszeres sortávolságot állítja be. Ha ezektől eltérő értékeket akarunk használni, akkor a LineSpacing property-vel adhatjuk azt meg.
Gyakori formázási beállítás még az egyes bekezdések előtti és utáni térköz mértékének megadása. Ezeket a SpaceBefore és a SpaceAfter property-kkel határozhatjuk meg, valahogy így:
WordApp.Selection.Paragraphs.SpaceBefore := 12;
WordApp.Selection.Paragraphs.SpaceAfter := 6;
A tabulátor pozíciók beállításához a TabStops osztályt használhatjuk:
WordApp.Selection.Paragraphs.TabStops.
      Add(Position, Alignment, Leader);
position: a tabulátor pozíciója pontban.
alignment: WdTabAlignment típusú paraméter, amely a tabulátor igazítását határozza meg: wdAlignTabBar, wdAlignTabCenter, wdAlignTabDecimal, wdAlignTabLeft, wdAlignTabList, vagy wdAlignTabRight. Az alapértelmezett érték: wdAlignTabLeft.
Leader: WdTabLeader típusú paraméter a tabulátor jelölésének meghatározásához: wdTabLeaderDashes, wdTabLeaderDots, wdTabLeaderHeavy, wdTabLeaderLines, wdTabLeaderMiddleDot, vagy wdTabLeaderSpaces. Az alapértelmezett érték: wdTabLeaderSpaces.

Office cikksorozat