Forum » Programiranje » Macro v Calc
Macro v Calc
drzni86 ::
Potreboval bi malo pomoči pri pisanju enega macra v calcu.
da na kratko opišem željeno delovanje macra...
Oblikovana bo tabela z artikli in zalogo. Recimo da bo stolpec B - artikli in stolpec C - zaloga. Urejanje stolpce bo zaklenjeno. Zaenkrat imam oblikovan macro, ki aktivno (izbrano) celico odklene, zmanjša vrednost celice za 1 in nato celico nazaj zaklene.
Ker pa mi macro sedaj deluje za vse celice bi rad v macro dodal funkcijo (if), ki bo preverila, če je aktivna celica v stolpcu C in v tem primeru izvedla operacijo, drugače pa samo zaklenila celico nazaj...
Tako zgleda zaenkrat:
Sub activecellminus1
Const cPWD = "123"
Const cLockedStyle ="Default"
Const cUnLockedStyle = "Unlocked"
sh=ThisComponent.Sheets.getByIndex(0)
sh.unProtect(cPWD)
With com.sun.star.sheet.CellFlags
iWhat= .VALUE + .DATETIME + .STRING + .FORMULA
ThisComponent.CurrentSelection.value = ThisComponent.CurrentSelection.value -1
End With
oFilled = sh.queryContentCells(iWhat)
oBlanks = sh.queryEmptyCells()
oBlanks.CellStyle=cUnlockedStyle
oFilled.CellStyle= cLockedStyle
sh.protect(cPWD)
End Sub
Tisti 123 je seveda trenutno nastavljeno geslo.
Hvala za pomoč/ideje.
da na kratko opišem željeno delovanje macra...
Oblikovana bo tabela z artikli in zalogo. Recimo da bo stolpec B - artikli in stolpec C - zaloga. Urejanje stolpce bo zaklenjeno. Zaenkrat imam oblikovan macro, ki aktivno (izbrano) celico odklene, zmanjša vrednost celice za 1 in nato celico nazaj zaklene.
Ker pa mi macro sedaj deluje za vse celice bi rad v macro dodal funkcijo (if), ki bo preverila, če je aktivna celica v stolpcu C in v tem primeru izvedla operacijo, drugače pa samo zaklenila celico nazaj...
Tako zgleda zaenkrat:
Sub activecellminus1
Const cPWD = "123"
Const cLockedStyle ="Default"
Const cUnLockedStyle = "Unlocked"
sh=ThisComponent.Sheets.getByIndex(0)
sh.unProtect(cPWD)
With com.sun.star.sheet.CellFlags
iWhat= .VALUE + .DATETIME + .STRING + .FORMULA
ThisComponent.CurrentSelection.value = ThisComponent.CurrentSelection.value -1
End With
oFilled = sh.queryContentCells(iWhat)
oBlanks = sh.queryEmptyCells()
oBlanks.CellStyle=cUnlockedStyle
oFilled.CellStyle= cLockedStyle
sh.protect(cPWD)
End Sub
Tisti 123 je seveda trenutno nastavljeno geslo.
Hvala za pomoč/ideje.
- spremenil: drzni86 ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Funkcije v OO CalcOddelek: Programiranje | 649 (599) | ToniT |
» | Excel zamenjeva vsebin celicOddelek: Programska oprema | 1010 (946) | pero978 |
» | excel+visual basicOddelek: Pomoč in nasveti | 1561 (1448) | švrk |
» | [Excel]Kako izvleči vrednost?Oddelek: Programiranje | 3783 (3506) | Mobidick |
» | [Excel] problem z makrojem, visual basic (strani: 1 2 )Oddelek: Programiranje | 5666 (5129) | steev |