prima di scrivere qui ho cercato sul web e provato alcune "soluzioni" ma senza riuscirci completamente.
Ho un file con due fogli di cui uno protetto da password (successivamente si aggiungeranno degl'altri), uno denominato Elenco e l'altro Scheda1.
Il mio intento è quello di utilizzare il pulsante "cancella scheda" situato nel foglio "Elenco" e permettere di richiamare il foglio "Scheda1" utilizzando il nome che è scritto sulla linguetta e cancellare tutte le celle sprotette presenti su quel foglio.
Girovagando sul web ho trovato la macro che permette di richiamare il foglio basandosi sul nome della linguetta:
Codice: Seleziona tutto
REM *** DEFINIRE LE VARIABILI ***
dim Document As Object, Sheets As Object
dim Sheet As Object, Controller As Object
sub Ric_Scheda1
Document = ThisComponent
Sheets = Document.Sheets
Sheet = Sheets.getByName("Scheda1")
Controller =Document.getcurrentController
Controller.setActiveSheet(Sheet)
end Sub
Codice: Seleziona tutto
REM *** DEFINIRE LE VARIABILI ***
Dim Doc As Object
Dim oCell As Object, oCursor As Object, aAddress As Variant, cell as Object
sub Canc_sbloccate
Doc = ThisComponent
Sheet = Doc.Sheets.getByIndex(0)
oCursor = Sheet.createCursor
oCursor.GotoEndOfUsedArea(True)
aAddress = oCursor.RangeAddress
LastUsedColumn = aAddress.EndColumn
LastUsedRow = aAddress.EndRow
for r=0 to LastUsedrow
for c = 0 to LastUsedColumn
Cell = Sheet.getCellByPosition(c,r)
cell.string = ""
next
next
End sub
Dov'è che sbaglio e come posso far in modo che le due macro sopra citate possano lavorare senza problemi?
In allegato trovere il file ods, sperando che possa esservi d'aiuto.
Colgo l'occasione per ringraziare tutti voi per l'aiuto che mi state dando, con il VBA di Excel me la cavo abbastanza ma con il linguaggio usanto da Libreoffice sinceramente ho diverse difficoltà che provo a capire a mano a mano che mi si presentano i problemi.