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 | 739 (689) | ToniT |
| » | Excel zamenjeva vsebin celicOddelek: Programska oprema | 1145 (1081) | pero978 |
| » | excel+visual basicOddelek: Pomoč in nasveti | 1704 (1591) | švrk |
| » | [Excel]Kako izvleči vrednost?Oddelek: Programiranje | 4023 (3746) | Mobidick |
| » | [Excel] problem z makrojem, visual basic (strani: 1 2 )Oddelek: Programiranje | 6137 (5600) | steev |