Tietäisikö joku kikan, millä saisin Calcissa ylätunnisteeseen viittauksen johonkin taulukon soluun? Haluaisin siis, että jos ja kun solun sisältö vaihtuu, niin ylätunnisteenkin sisältö vaihtuisi...
Ylätunnisteeseen viittaus soluun (Calcissa)
OOolavi
3459
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 3
Vanhimmat
En tiedä, saako tuota mitenkään tehtyä varsinaiseen ylätunnisteeseen, koska niihin voi sisällyttää vain hyvin rajoitettuja juttuja.
Mutta ainakin tuon saa tehtyä niin, että poistat varsinaisen ylätunnisteen käytöstä ja käytät taulukon ylintä riviä ylätunnisteena. Siinä voit tietenkin käyttää mitä tahansa viittauksia.
Saat ylimmän rivin näkymään jokaisen sivun yläreunassa "ylätunnisteena" muotoilemalla tulostusaluetta (Muotoile > Tulostusalueet > Muokkaa). Aseta tulostusalueeksi "Koko taulukko" ja toistettaviksi riveiksi "$1" (tai "$1:$2" jos haluat myös sarakkeiden nimet mukaan). Paina OK ja katso vaikutukset esikatselusta.
Kiitokset. Näin arvelinkin...
global P1Leg1 as Object
global oListner as Object
Sub AddListners
P1Leg1 = thisComponent.sheets(0).GetCellRangeByName("a7:a7")
oListner = CreateUnoListener( "Player1_", "com.sun.star.util.XModifyListener" )
P1Leg1.AddModifyListener(oListner)
End Sub
Ylempi makro täytyy suorittaa aluksi. a7:n tilalle tulee solu jonka muuttuessa ylätunniste muuttuu.
Sub Player1_Modified(oEvent)
oDocument = thisComponent
' styles
oStyleFam = oDocument.StyleFamilies
' page styles
oTablePageStyles = oStyleFam.getbyName("PageStyles")
' set on all page styles
for iL = 0 to oTablePageStyles.Count - 1
oAktPage = oTablePageStyles.getByIndex(iL)
' header
oAktPage.HeaderIsOn = True
' left
oHeader = oAktPage.RightPageHeaderContent
oHLText = oHeader.LeftText
oHLText.String = ""
' center
oHCText = oHeader.CenterText
oCursor = oHCText.createTextCursor()
oHCText.insertstring(oCursor, oEvent.source.string, TRUE) ' TRUE overwrites existing text !
' oEvent.source.string on muutetun solun arvo
' right
oHRText = oHeader.RightText
oHRText.String = ""
' update header
oAktPage.RightPageHeaderContent = oHeader
next iL
End sub
Sub Player1_Disposing
End Sub