Kirjoittaja Aihe: Apua OpenOffice Calc makron kanssa  (Luettu 2251 kertaa)

Ripa

  • Käyttäjä
  • Viestejä: 196
    • Profiili
Apua OpenOffice Calc makron kanssa
« : 02.12.10 - klo:13.17 »
Apua OpenOffice Calc makron kanssa
Versio 3.1.1

Makro jäsenrekisterin hallintaan.

Makro toimii osin, muttei niin kun haluaisin.
Haluaisin tehdä kaksi makroa jotka toteuttaisivat seuraavat asiat

1 makro joka tuo csv muotoisen tiedoston OO:hon ja asetta kenttätyypit oikeiksi.

Minulla on netistä ladattu jäsenrekisteri nimeltään
jasenet.csv

Haluaisin että tuonnin yhteydessä päivämääriä sisältävät sarakkeet muutetaan päivämäärämuotoon ”(v.k.p)” jolloin päiväys tulee oikein, mutta vuosi vain kahdella numerolla.
 ja puhelin numeroita sisältävät kentät muotoon ”teksti”, jotta etunollat säilyy.

Kun teen tämän käsin kaikki on ok.
Mutten saa makroa nauhoittamalla tekemään samaa asia.

2
Kun tiedot on tuotu haluaisin.
Makron 2 muuttavan pvm kentät muodosta >>> muotoon: vv.kk.pp >> vvvv.kk.pp. Siis vuosi neljällä numerolla
Kun tee käsin toimii ihan ok.
Kun teen makron, jossa maalaan alueen vaikka 50 riviä toimii ihan ok.
Kun teen makron ja valitsen koko sarakkeen, niin sittenpä tuo makro ei teekkään mitään.

Tässä toimiva makro joka muutta vain valitun alueen solujen muotoilun.

Koodia: [Valitse]
sub muotoile_solut_2
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$N$2:$N$27"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "NumberFormatValue"
args2(0).Value = 36

dispatcher.executeDispatch(document, ".uno:NumberFormatValue", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$O$2"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())


end sub

odysseus

  • Vieras
Vs: Apua OpenOffice Calc makron kanssa
« Vastaus #1 : 02.12.10 - klo:16.39 »
En halua moralisoida, mutta koska kyseessä on (jäsen)rekisteri ja oletetusti siihen liittyvät tarpeet jatkossa niin tuommoinen makro-viritys on tulevaisuuden pommi ja kuuluu sarjaan Ei-Ei-Ei ja vielä kerran Ei!

Tee suosiolla homma käyttäen aitoa tietokantaa, niin vältyt monilta piinoilta jatkossa. Datakin kun kerran on valmiina CSV muodossa! Mihin ihmeeseen tuossa OooO:ta tarvitaan?

Toteutus alkuun yhdistelmällä "Apache + PHP + MySQL" <--> "XHTML + CSS2 + Javascript" olisi varmasti tuossa nyt paras. Sillä saat hommasta selainpohjaisen, käyttöjärjestelmästä riippumattoman, monikäyttäjäympäristöön sopivan, monikielisen, käyttäjien itsensä hallittavan, selaimesta riippumattoman, .. .... ..... .........STANDARDIN... ...skaalautuvan, helposti siirrettävän, vikasietoisen, tietoturvallisen... ... ..., jatkossa HTML5 kelpoisen, ... ..., ...... jne.

Ripa

  • Käyttäjä
  • Viestejä: 196
    • Profiili
Vs: Apua OpenOffice Calc makron kanssa
« Vastaus #2 : 02.12.10 - klo:21.45 »
Totta jokasana, mutta....

Jäsenet voivat itse ylläpitää omia tietojaan webin kautta osoitteessa:
www.jokuyhdistys.net

Olemme tuon yhdistyksen alajärjestö. ja minulle oikeastaan ainut näkymä tuohon kantaan on "tulostusjono"
joka tuotta vain valinnan tulosta Exeltiedosto.
Tiedoston saa itse nimetä ja se on muotoa csv (onneksi)

Minä saan ne sieltä vain CSV muodossa tallennettua tiedostoon jossa kenttäjärjestys on vakio.

Tarkoitus on tehdä (Word joukkokirje) siis OO Calc + Writer.
Siinnä patistellaan jäsenistöä tarkistamaan tietonsa ja päivittämään tarvittaessa.

Homma on niin helppo ettei makron tekemisessä ole oikeasti mitään järkeä, mutta.

Tuossa kattojärjestössä on pirusti pieniä yhdistyksiä ja tuntuu että käsite joukkokirje on täysin tuntematon.
Jos puhuisin jostaan Myslistä, ne kysyis mitä tuo syötävä tähän kuuluu.

Tarkoitus oli tehdä pari nappia, joista toinen tuo tiedot taulukkoon ja toinen muokkaa sarakkeet, lähinnä päivämäärän samaan esitysmuotoon, mitä web käyttöliittymässä käytetään.

Joukko kirjeeseen laitan kentät valkiiksi ja jokainen saa sitten kirjoittaa sen "runonsa"  itse sinne väliin  millä motvoi jäsenistöään.

Yritänkö mahdotonta?

Pitäisikö vain unohtaa koko juttu ja hoitaa pelkästään oma tontti.

Ripa

  • Käyttäjä
  • Viestejä: 196
    • Profiili
Vs: Apua OpenOffice Calc makron kanssa
« Vastaus #3 : 02.12.10 - klo:21.55 »
Miksi tarvitsen s postiosoitteet

Meillä on omat sivut toteutus Joomla palvelin
(Minusta kiva, koska porukka osaa julkaista juttuja sinne 1/2 - 1h koulutuksella.)

Nyt olis tarvetta lähetellä pikku tiedotteita jäsenistölle sopiva palikka tuntuis olevan
http://demo.acyba.com/  >> AcyMailing

Tuo syö jäsentiedot suoraan siitä Excel taulukosta
(Ei se csv - muotoine tuloste kyllä minusta ole Excel taulukko, mutta hällä väliä)

Ps. Sekä joomla, että tuo lisä palikka on minusta tutustumisen arvoinen.
(Anteeksi pikku mainos, mutta molemmat GPL- lisensillä)