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.
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