Ehdollinen teksti LibreOfficella

LibreOffice Writer -tekstinkäsittelyohjelmalla on helppo toteuttaa ehdollinen tekstitoiminto. Ehdollisella tekstillä tarkoitetaan tekstin osaa, joka tulostaa tekstin, jos jokin ehto toteutuu eli on voimassa. Jos ehto ei toteudu, voidaan tekstin sijaan tulostaa jokin toinen tekstikappale. Ehtolausekkeessa voidaan käyttää ennalta määriteltyä muuttujaa, jonka arvo määrää, miten ehdollinen teksti lopulta toteutuu. Toiminto on helpompi ymmärtää yksinkertaisen esimerkin avulla.

tietokonenäppäimistö
Kuva
cb Marc Di Luzio

Kirjoitan aika ajoin asiakirjoja julkaistavaksi nettiin sekä jaettavaksi vastaanottajille. Nettiin tarkoitetuista asiakirjoista poistan tai piilotan joitakin kohtia, joita en halua julkisuuteen. Henkilökohtaisesti jaettaviin tulosteisiin yksityiskohdat sen sijaan tulostuvat. Kirjoittamalla kaksi erillistä asiakirjaa voidaan tämä tarve toteuttaa suhteellisen yksinkertaisesti joskin työläästi, sillä tällä tavoin toteutettuna joutuisin kirjoittamaan ja ylläpitämään kahta lähes samansisältöistä asiakirjaa. LibreOfficen tekstinkäsittelyohjelmalla työ helpottuu olennaisesti. Lisään asiakirjan alkuun muuttujan, jonka sitten piilotan. Haluttuun kohtaan asiakirjaa lisään ehdollisen tekstin, jonka ehtolausekkeessa tarkastelen muuttujan arvoa. Jos arvo on 1, on asiakirja tarkoitettu nettijulkaisuksi. Jos arvo puolestaan on jotain muuta kuin 1, on dokumentti tarkoitettu tulostettavaksi vastaanottajille.

LibreOfficessa tällainen pieni ohjelmointi tehdään muutamalla näppäimen painalluksella. Ensimmäiseksi lisätään muuttuja, jolle annettakoon nimeksi vaikkapa "netti" ja arvoksi ensi alkuun 0. Nolla muuttujan arvona tarkoittaa henkilökohtaista tulostetta. Kun muuttuja on esitelty, asetetaan se heti näkymättömäksi, jotta se ei tule näkyviin tulosteisiin, koska muuttuja on vain apuväline ehdollisessa tekstinkäsittelyssä. Uusi muuttuja lisätään LibreOfficessa seuraavasti:

  1. Vie kohdistin asiakirjan alkuun tai haluamaasi kohtaan dokumenttia. Muuttuja pitää asettaa ennen kuin sitä käytetään ehdollisessa tekstissä, joten asiakirjan alku on yleensä hyvä valinta.
  2. Pidä Ctrl-näppäin alas painettuna ja paina samanaikaisesti F2-näppäintä. Kuvaruudulle avautuu Fields (Kentät) -ikkuna.
  3. Valitse Variables (Muuttujat) -välilehti.
  4. Valitse Type (Tyyppi) -listalta Set variable (Aseta muuttuja) -toiminto.
  5. Kirjoita muuttujan nimi netti Name (Nimi) -kenttään välilehden alaosassa.
  6. Kirjoita muuttujan alkuarvo 0 Value (Arvo) -kenttään.
  7. Valitse Format (Muoto) -valikosta Yleinen.
  8. Rastita Invisible (Näkymätön) -vaihtoehto.
  9. Paina lopuksi Insert (Lisää) -painiketta välilehden alaosassa.

Kuvaruudulle ilmestyy kapea ja harmaa pystypalkki, joka on merkkinä piilossa olevasta muuttujasta. Pystypalkki ei tulostu lopulliseen asiakirjaan. Seuraavassa vaiheessa rakennetaan varsinainen ehdollinen teksti. Tässä tekstissä haluan piilottaa henkilön sukunimen, joten nettijulkaisussa näkyy vain puheena olevan henkilön etunimi. Olkoon henkilön nimi vaikkapa Teuvo Testaaja. Kyseisen henkilö nimi näkyy nettiversiossa muodossa: Teuvo T. Lisää ehdollinen teksti seuraavasti:

  1. Vie kohdistin siihen kohtaan asiakirjaa, johon haluat henkilön nimen. Kirjoita etunimi ja sukunimestä ensimmäinen kirjain: Teuvo T
  2. Pidä jälleen Ctrl-näppäin alas painettuna ja paina samanaikaisesti F2-näppäintä. Kuvaruudulle avautuu Fields (Kentät) -ikkuna.
  3. Valitse Functions (Funktiot) -välilehti.
  4. Valitse Type (Tyyppi) -listalta Conditional text (Ehdollinen teksti).
  5. Kirjoita Condition (Ehto) -kenttään: netti EQ 1 Tämä ehto tutkii, mikäli netti-nimisen muuttujan sisältämä arvo on yhtä suuri (EQ eli equal) kuin 1.
  6. Kirjoita Then (Sitten) -kenttään pelkkä piste (.).
  7. Kirjoita Else (Muutoin) -kenttään "estaaja" ilman lainausmerkkejä.
  8. Paina lopuksi Insert (Lisää) -painiketta välilehden alaosassa.

Kuvaruudulle ilmestyy sukunimen loppuosa harmaalla taustalla. Tämä on merkkinä ehdollisesta tekstistä, joka vaihtuu sen mukaan, mikä arvo netti-muuttujalla kulloinkin on. Muuttujan arvoa voi muuttaa viemällä kohdistimen muuttujan kohdalle ja valitsemalla muuttujaan merkkaavan pystypalkin. Tämän jälkeen hiiren oikeanpuoleisella painikkeella avautuvasta valikosta valitaan Fields… (Kentät…), jossa voi asettaa muuttujalle uuden arvon.

Asiakirjaan lisätyt kentät saa näkyville pitämällä Ctrl-näppäintä alas painettuna ja painamalla samanaikaisesti F9-näppäintä. Kentät saa jälleen piiloon painamalla samaan näppäinyhdistelmää uudelleen.

Set variable netti = 0 Conditional text netti EQ 1 . : estaaja

Ehdollinen teksti tuo tekstinkäsittelyyn aivan uusia mahdollisuuksia. Samalla helpottuu erilaisten versioiden tulostaminen samasta asiakirjasta, kun enää ei tarvitse tehdä käsin muutoksia tekstiin. Riittää, kun vaihtaa vain muuttujan arvon toiseksi, jolloin ehdollinen teksti näyttää toisen vaihtoehdon. LibreOfficesta löytyy kosolti muitakin erinomaisia ominaisuuksia, joista kerron tuonnempana lisää.

Julkaistu keskiviikkona 12.4.2017 klo 18:00 avainsanoilla LibreOffice, ohjelmistot ja ohjelmointi.

Edellinen
Kierros katedraalissa
Seuraava
Pääsiäisajan musiikkia