|
|
Stílusok kezelése a Word-ben
Office 4. rész
|
|
Példaprogram letöltése
184349 bájt
|
Az előző részben már eljutottunk odáig, hogy a beírt szöveget meg tudtuk formázni. A formázáshoz viszont van a Word-nek egy nagyszerű lehetősége, ez pedig nem más, mint a stílusok használata. Ebben a cikkben annak járunk utána, hogy hogyan tudjuk az előre definiált stílusokat felhasználni, ill. hogyan tudunk saját stílust létrehozni.
Talán már senki sem lepődik meg azon, hogy megint a Selection osztályt használjuk. Azért elmondom, hogy azért használjuk mindig ezt az osztályt, mert az ezen keresztüli műveletek hasonlítanak arra leginkább, mintha manuálisan dolgoznánk a Word-ben. Egy bekezdést például elérhetünk az ActiveDocument.Paragraphs osztályon keresztül is, de ahol éppen a kurzor van, vagy amely bekezdések ki vannak jelölve, azokat a legegyszerűbben a Selection osztályon keresztül érhetjük el.
Az első feladatunk tehát az lesz, hogy a dokumentumban kijelölt bekezdések stílusát beállítsuk. Végtelenül egyszerű dolgunk van, az Application.Selection.Style property-t kell használnunk az alábbi módon:
WordApp.Selection.Style:=MyStyle;
MyStyle: a használni kívánt stílus neve, vagy egy WdBuildInStyle típusú konstans.
A wdStyleList kezdetű konstansok használatával felsorolást ill. számozást érhetünk el.
Ez eddig egyszerű volt, de most nézzük, hogyan készíthetünk saját stílust. Ehhez az ActiveDocuments.Styles osztály Add függvényét kell használnunk. Ez a függvény visszaad egy Style osztályt, amelyben tetszés szerint beállíthatjuk a stílus paramétereit.
var
MyStyle: OleVariant;
…
MyStyle := WordApp.ActiveDocument.Styles.Add('Animare Stílus 1');
MyStyle.Font.name := 'Arial';
MyStyle.Font.Size := 14;
MyStyle.ParagraphFormat.Alignment:= wdAlignParagraphCenter;
Ezentúl a mi általunk felvett stílus is szerepel a stílusok között. Mielőtt felveszünk egy új stílust, nem árt ellenőrizni, hogy ilyen nevű stílus létezik-e már. Legjobb, ha erre készítünk egy saját függvényt:
function TForm1.StyleExists(StyleName:string):boolean;
var van:boolean;
i:OleVariant;
SName:OleVariant;
begin
van:=false;
i:=1;
while (i<=WordApp.ActiveDocument.Styles.Count) and (NOT van) do begin
SName:=WordApp.ActiveDocument.Styles.Item(i).NameLocal;
if SName=StyleName then van:=true;
i:=i+1;
end;
result:=van;
end;
A függvény visszatérési értéke True, ha a megadott néven már létezik stílus. Sajnos ez az ellenőrzés elég lassú művelet!
|
Könyv
Ez a cikk megtalálható ebben a könyvben:
Delphi Software Offline 2001 évkönyv 252. oldal
Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!
|