Delphi - Vágólap kezelése, keresés, csere funkciók és kép beszúrás Word-be

Office 7. rész

forráskód letöltése
Néhány alapvető művelet még kimaradt, amikről feltétlenül szólnunk kell. Ezek a vágólap műveletek, a keresés és csere funkciók, valamint a kép beszúrása egy külső állományból. Kezdjük a vágólap kezelésével. Három alapvető vágólap művelet van: kivágás, másolás és beillesztés. Ezeket a műveleteket a kijelölt szöveggel szoktuk végezni, úgyhogy ismételten a Selection osztályt kell használnunk. Ebben szerencsénkre megtalálható mindhárom művelethez egy-egy metódus.
WordApp.Selection.Cut;
WordApp.Selection.Copy;
WordApp.Selection.Paste;
A Cut metódus a "kivágás", a Copy a "másolás" és a Paste a "beillesztés" funkcióknak felel meg.

Térjünk rá a szövegszerkesztőkben gyakran használt funkciókra, a "Keresés" és "Csere" műveletekre. Szerencsére ezekhez a műveletekhez szintén található függvény, méghozzá egy olyan, ami mindkét feladatot elvégzi. Ez a függvény a Find osztályban található, és Execute-nak hívják.
WordApp.Selection.Find.ExecuteOld(FindText, MatchCase, MatchWholeWord, MatchWildcards,
    MatchSoundsLike, MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, Replace, MatchKashida, MatchDiacritics,
        MatchAlefHamza, MatchControl);
  • FindText: a keresett szöveg.
  • MatchCase: True érték esetén a kis- és nagybetűket megkülönbözteti.
  • MatchWholeWord: True érték esetén csak egész szóra keres.
  • MatchWildcards: True érték esetén a keresett sztringben használhatók speciális karakterek.
  • MatchSoundsLike: True érték esetén a hangzás alapján hasonló szavakat is megtalálja.
  • MatchAllWordForms: az adott szó összes alakját megkeresi.
  • Forward: True esetén a szövegben előre keres (a szöveg vége felé).
  • Wrap: meghatározza, hogy keresés milyen módon folytatódjon, ha van találat, ill. ha a szöveg végére értünk. Három konstans értéket lehet megadni: wdFindAsk, wdFindContinue, vagy wdFindStop.
  • ReplaceWith: a megtalált szót erre a szövegre kell cserélni.
  • Replace: WdReplace típusú konstans paraméter: wdReplaceAll, wdReplaceNone, vagy wdReplaceOne.
  • MatchKashida: pl. arab nyelvterületen használható.
  • MatchDiacritics: olyan nyelvterületen használható, ahol a jobbról-balra irányba haladó írásmódot használnak.
  • MatchAlefHamza: szintén arab nyelvterületen használatos.
  • MatchControl: lásd. MatchDiacritics.
Az utolsó művelet, amivel a Word-del kapcsolatban beszélünk, a kép beillesztése. Egy eddig nem használt osztályt, a Shapes osztályt használjuk fel erre a célra. Ennek van egy AddPicture függvénye, amellyel egy állományból tudunk képet beilleszteni a dokumentumunkba.
WordApp.ActiveDocument.Shapes.AddPicture(FileName, LinkToFile, SaveWithDocument, Left, Top, Width,
    Height, Anchor);
  • FileName: a kép állomány neve.
  • LinkToFile: True esetén csak hivatkozik a fájlra, azt nem illeszti be a dokumentumba. Ha a képet módosítjuk, akkor a dokumentumban lévő kép is módosul. False érték esetében egy másolat készül, amely már teljesen független lesz az eredeti képtől, vagyis a kép bekerül a DOC állományba, így ahhoz nem kell külön mellékelni a képet is.
  • SaveWithDocument: True érték esetén elmenti azt a képet is, amelyre csak hivatkozunk a dokumentumban (LinkToFile=True).
  • Left: a megjelenítendő kép baloldali koordinátája pontban. Elhagyása esetén automatikus.
  • Top: megjelenítendő kép jobboldali koordinátája pontban. Elhagyása esetén automatikus.
  • Width: a kép szélessége. Elhagyása esetén automatikus.
  • Height: a kép magassága. Elhagyása esetén automatikus.
  • Anchor: Range objektum. Ha meg van adva, akkor a Range első bekezdéséhez igazítja a képet, ellenkező esetben a kép széleihez.

Office cikksorozat