[RIsolto] Pulsante che cancella righe

Creare una macro - Scrivere uno script - Usare le API
Rispondi
Aldo75
Messaggi: 58
Iscritto il: mercoledì 30 luglio 2014, 20:43

[RIsolto] Pulsante che cancella righe

Messaggio da Aldo75 »

Salve ho provato a registrare 2 macro , ma non ho avuto successo .
1 Macro da associare a pulsante con nome " Cancella ultima riga non vuota nel file test.ods tranne la prima "

2 Macro da associare a pulsante " Cancella tutte le righe tranne laprima del file test.ods

Vi allego i due file .
Allegati
test.ods
(10.23 KiB) Scaricato 132 volte
fogliolavoro.ods
(11.76 KiB) Scaricato 255 volte
Ultima modifica di charlie il giovedì 14 agosto 2014, 13:46, modificato 2 volte in totale.
Motivazione: Inserito segno di spunta verde
openoffice 4.1
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Pulsante che cancella righe

Messaggio da patel »

1 Macro da associare a pulsante con nome " Cancella ultima riga non vuota nel file test.ods tranne la prima "

Codice: Seleziona tutto

Sub Main
Doc = ThisComponent
osheet = Doc.sheets(0)
LR = getLastUsedRow(oSheet)
if LR > 0 then    
   oSheet.getRows.removeByIndex(LR, 1)    
End if
End Sub


Function getLastUsedRow(oSheet as Object) as Integer
Dim oCell As Object
Dim oCursor As Object
Dim aAddress As Variant
oCell = oSheet.GetCellbyPosition( 0, 0 )
oCursor = oSheet.createCursorByRange(oCell)
oCursor.GotoEndOfUsedArea(True)
aAddress = oCursor.RangeAddress
GetLastUsedRow = aAddress.EndRow
End Function
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Pulsante che cancella righe

Messaggio da patel »

2 Macro da associare a pulsante " Cancella tutte le righe tranne laprima del file test.ods

Codice: Seleziona tutto

Sub Main2
Doc = ThisComponent
osheet = Doc.sheets(0)
LR = getLastUsedRow(oSheet)
for r = Lr to 1 step -1
   oSheet.getRows.removeByIndex(r, 1)    
next
End Sub
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Aldo75
Messaggi: 58
Iscritto il: mercoledì 30 luglio 2014, 20:43

Re: Pulsante che cancella righe

Messaggio da Aldo75 »

Perfetto !! Sono riuscito a modificarle come servivano a me !!
Grazie Mille !!
openoffice 4.1
Rispondi