Munkalap védelme makróval.

Táblázatkezelő
Avatar
Bendegúz
Önkéntesek
Hozzászólások: 60
Csatlakozott: 2009. május 11., hétfő 12:55
Tartózkodási hely: Besenyszög

Munkalap védelme makróval.

Hozzászólás Szerző: Bendegúz »

Sziasztok!

Újabb kérdésre keresek választ:
Szeretném a Munkalap védelme... funkciót használni kódból vezérelve. Amim van:

Kód: Egész kijelölése

Sub LockCells
   
   Dim Doc As Object
   Dim oSheet As Object

   Doc = ThisComponent
   oSheet = ThisComponent.Sheets.getByIndex(0)
   
   'Munkalap lezárása
   oSheet.protect("1234")

  'Munkalap feloldása
  'oSheet.unprotect("1234")

End Sub

Ez működik is szépen, de lehetne úgy paraméterezni, hogy a védelemhez kapcsolódó plusz beállítások is kihasználhatóak legyenek?
Ezek:
- Zárolt cellák kijelölése
- Nem zárolt cellák kijelölése

A fenti kód engedi kijelölni a zárolt és nem zárolt cellákat is, tehát azt kellene megoldani, hogy a zárolt cellákat ne lehessen kijelölni.
Azért szeretném kódból zárni-nyitni a munkalapot, hogy a getCellByRangeName("A1").String = "Példa" segítségével lehessen tölteni zárolt munkalapokat is. Amire gondoltam:
Feloldom a munkalapot - kitöltöm a megfelelő cellákat - lezárom a munkalapot.
Vagy van erre elegánsabb megoldás?

Válaszokat előre is köszönöm!
Linux Mint
LibreOffice
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Munkalap védelme makróval.

Hozzászólás Szerző: Zizi64 »

Feloldom a munkalapot - kitöltöm a megfelelő cellákat - lezárom a munkalapot.
Nyilván át kellene alaposabban böngészni az API leírást, a függvényeket, mert fejből nem tudok a jelzett részletek vezérlésére ötletet adni, de számomra nem tűnik rossz megoldásnak az elsődleges ötleted. Úgyis olyan gyorsan végrehajtódik, hogy észre sem lehet venni.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Munkalap védelme makróval.

Hozzászólás Szerző: Zizi64 »

Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Bendegúz
Önkéntesek
Hozzászólások: 60
Csatlakozott: 2009. május 11., hétfő 12:55
Tartózkodási hely: Besenyszög

Re: Munkalap védelme makróval.

Hozzászólás Szerző: Bendegúz »

Az ezzel kapcsolatos fórumokat már átnyálaztam, és nem találtam bennük használhatót, ezért is jöttem megint ide...
Jó lenne, ha meg lehetne oldani, mert enélkül a munkalap minden cellája bejárható - még ha zárolt is - és ez nekem nem nagyon tetszik így...

Azért köszönöm a válaszaidat!
Na, lépek melózni, mert valamiből élni is kell... :D
Linux Mint
LibreOffice
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Munkalap védelme makróval.

Hozzászólás Szerző: Zizi64 »

Nem próbáltam végig minden eshetőséget, de

Kód: Egész kijelölése

Option VBASupport 1
opcióval indítva a kódot,

az alábbi lapon található példák működni látszanak!

http://www.codingtiger.com/questions/ex ... ction.html

Persze hogy miért lehet hamarabb működőképes VBA kód példát találni a neten, mint az AOO/LO API függvények között rábukkanni a megfelelőre, ha létezik olyan egyáltalán, azt én se tudom megmondani, (meg én is ennyire értek hozzá)...

Én ezt a rész próbáltam meg egy szubrutinba ágyazva, és a Modul elején a VBA opciót használva:

Kód: Egész kijelölése

Worksheets("Sheet1").Range("A1:A10").Locked = True
Worksheets("Sheet1").Range("A1:A10").FormulaHidden = True
Worksheets("Sheet1").Protect UserInterfaceOnly:=True, Password:="123"
Worksheets("Sheet1").EnableSelection = xlUnlockedCells
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Bendegúz
Önkéntesek
Hozzászólások: 60
Csatlakozott: 2009. május 11., hétfő 12:55
Tartózkodási hely: Besenyszög

Re: Munkalap védelme makróval.

Hozzászólás Szerző: Bendegúz »

Közben találtam egy API(?)-t. Talán a CellProtection lesz amit keresek, csak még jó példám nincs hozzá...
De nem adom fel! Ha találok valamit, megírom, hátha valakinek még jól jön egyszer...
Linux Mint
LibreOffice
Válasz küldése