![]() |
![]() |
| ||||
Fejezet 7Munkafüzet-dokumentumokA StarOffice Basic egy kibővített felületet biztosít a munkafüzetek programvezérelt létrehozásához és szerkesztéséhez. Ez a fejezet leírja, hogyan vezérelhetők a munkafüzetek adott szolgáltatásai, metódusai és tulajdonságai. Ez első rész a munkafüzet-dokumentumok felépítésével foglalkozik, és bemutatja, hogyan érhető el és szerkeszthető az egyes cellák tartalma. A második rész a munkafüzetek szerkesztésének hatékony módjával foglalkozik, azon belül is az cellákkal és a cellatartalom keresésével, illetve cseréjével. Megjegyzés - A Range objektummal bármilyen táblázatterület elérhető, és az új API-ban továbbfejlesztésre került. A táblázat alapú dokumentumok (munkalapok) felépítéseA munkafüzet dokumentumobjektuma a com.sun.star.sheet.SpreadsheetDocument szolgáltatáson alapul. A dokumentumok mindegyike több munkafüzetet is tartalmazhat. Ebben az útmutatóban a táblázat alapú dokumentum vagy munkafüzet-dokumentum a teljes dokumentum, míg a munkalap egy lapja (táblázata) a dokumentumnak. Megjegyzés - A VBA-ban és a StarOffice Basic eltérő neveket használ az egyes objektumok megnevezésére. Míg a dokumentumobjektum neve VBA-ban Workbook ás az egyes lapjai a Worksheet objektumok, addig a StarOffice Basic programban SpreadsheetDocument objektumnak és Sheet objektumnak hívják ugyanazt. MunkalapokA munkafüzet-dokumentum egyes munkalapjait a Sheets listával érhetjük el. Az alábbi példa bemutatja, hogyan érhető el egy munkalap a száma vagy neve alapján. 1. példa: hozzáférés szám alapján (a számozás 0-nál kezdődik)
2. példa: hozzáférés név alapján
Az első példában a munkalapot a száma alapján éri el a program (a számozás 0-nál kezdődik). A második példában pedig a neve alapján, a getByName metódus használatával. A getByName metódus által visszaadott Sheet objektum a com.sun.star.sheet.Spreadsheet szolgáltatást támogatja. A tartalom szerkesztéséhez használt számos felületen kívül ez a szolgáltatás a következő tulajdonságokat biztosítja: Munkalapok létrehozása, törlése és átnevezéseA munkafüzet-objektum Sheets listája szintén használható az egyes munkalapok létrehozásához, törléséhez és átnevezéséhez. A következő példa a hasByName metódussal ellenőrzi, hogy létezik-e egy SajátMunkalap nevű munkalap. Ha létezik, a metódus létrehozza a megfelelő objektumhivatkozást a getByName metódus használatával, és menti a hivatkozást a Sheet nevű változóba. Ha az adott munkalap nem létezik, a createInstance metódus létrehozza azt, és az insertByName beszúrja a munkafüzet-objektumba.
A getByName és az insertByName metódust a com.sun.star.container.XnameContainer felület tartalmazza. Ezek leírását a következő helyen találjuk Fejezet 4, A StarOffice API bemutatása. Sorok és oszlopokMinden munkalap tartalmaz egy listát a sorairól és oszlopairól. Ezek elérhetők a munkalap-objektum Rows és Columns tulajdonságán keresztül, és támogatják a com.sun.star.table.TableColumns és/vagy com.sun.star.table.TableRows szolgáltatást. A következő példa létrehoz két objektumot, amelyek a munkalap első sorára és első oszlopára hivatkoznak, és tárolja a hivatkozásokat a FirstCol és a FirstRow objektumváltozóban.
Az oszlopobjektum támogatja a com.sun.star.table.TableColumn szolgáltatást, amely a következő tulajdonságokat tartalmazza:
Az oszlop szélessége csak akkor van optimalizálva, ha az OptimalWidth tulajdonság értéke True (igaz). Ha az egyes cellák szélessége változik, akkor a cellát tartalmazó oszlop szélessége nem változik. A funkcionalitás szempontjából a OptimalWidth inkább metódus, mint tulajdonság. A sorobjektum támogatja a com.sun.star.table.RowColumn szolgáltatást, amely a következő tulajdonságokat tartalmazza: | ||||
| ||||