Heip,
on taulukko ja sen soluissa tekstin pätkiä.
Onnistuuko makro tms. joka hakisi solun nimen perusteella sen sisältämän tekstin kirjoitettavaan asiakirjaa paikkaan jossa kulloinkin ollaan ???
on taulukko ja sen soluissa tekstin pätkiä.
Onnistuuko makro tms. joka hakisi solun nimen perusteella sen sisältämän tekstin kirjoitettavaan asiakirjaa paikkaan jossa kulloinkin ollaan ???
Vastaukset 4
Vanhimmat
sub PasteString
cstring="Hello"
oDoc = ThisComponent
oVCursor = oDoc.currentcontroller.getViewCursor()
oText = oDoc.getText()
oCursor = oText.createTextCursorByRange(oVCursor.getstart())
oText = oCursor.getText()
oText.insertString( oCursor, cString, False )
end sub
liittää merkkijonon kursorin paikkaan tekstissä.
Täys aloittelija kun olen, niin kysyn miten tuo toimii, tai miten sen saa toimimaan.
Ajatus on siis sellainen, että taulukon soluihin on laitettu noita irrallisia tekstinpätkiä.
Sitten kiirjoitetaan tarinaa ja haetaan siihen taulukon jonkun solun sisältö antamalla sana antamalla solun nimi, ja jatketaan tarinaa sen mukaan mitä tuo haettu edellyttää.
Se on makro; vielä kun vääntäisi lisää koodia niin se saattaisi toimia haluamallasi tavalla.
Tämä makro etsii Sanat-nimisestä taulukosta sanan, joka on kursorin kohdalla ja korvaa sen viereisen sarakkeen sanalla. Taulukko on samassa tekstissä kuin kirjoitettava romaani.
sub Korvaasana
Otable = starDeskTop.loadComponentFromUrl (Url, "_hidden", 0, Array())
Tablename="Sanat"
oDoc = ThisComponent
oTables = oDoc.getTextTables
If oTables.hasByName(Tablename) then thisTable = oTables.getByName(Tablename)
oVCursor = oDoc.currentcontroller.getViewCursor()
oText = oDoc.getText()
oCursor = oText.createTextCursorByRange(oVCursor.getstart())
oCursor.gotoStartOfWord(false)
oCursor.gotoEndOfWord(true)
cstring=ocursor.getstring
tableCursor=ThisTable.createCursorByCellName(thistable.CellNames(0))
vast=""
do
cName = tableCursor.getRangeName()
xCell = thistable.getCellByName(cName)
if xCell.String=cstring then
tableCursor.goRight(1,FALSE)
xCell = thistable.getCellByName(tableCursor.getRangeName())
vast=xCell.string
exit do
end if
loop while tableCursor.goDown(1,FALSE)
if vast"" then ocursor.setstring(vast)
end sub