Codice: Seleziona tutto
n = collezione.Count()
for i = n to 1 step -1
collezione.remove(i)
next
Codice: Seleziona tutto
n = collezione.Count()
for i = n to 1 step -1
collezione.remove(i)
next
Codice: Seleziona tutto
n = collezione.Count()
if n > 0 then
set collezione = New Collection
n = collezione.Count() 'n ha valore 0
end if
Codice: Seleziona tutto
n = collezione.Count()
if n > 0 then
set collezione = New Collection
n = collezione.Count()
end if
for i = n to 1 step -1
collezione.remove(i)
next
Codice: Seleziona tutto
Sub Main
Dim test as New Collection
for i = 1 to 5
test.Add(i)
next
msgbox test.Count()
n = test.Count()
Do While n > 0
test.remove(n)
n = n -1
loop
msgbox test.Count()
End Sub
Codice: Seleziona tutto
...
On Error Goto doppione
collezione.Add(intCol,intCol)
oRanges = ThisComponent.NamedRanges
If NOT oRanges.hasByName(intCol) Then
oCellAddress = Sh.GetCellByPosition(i, rig).getCellAddress
oRanges.addNewByName(intCol, Sh.GetCellByPosition(i, rig).AbsoluteName, oCellAddress, 0) ' inserisco nome definito colonna
End if
Sh.GetCellByPosition(i, lastrow).String = intCol
Sh.GetCellByPosition(i, lastrow+1).String = DatiCol
i = i + 1 'indice di colonna
...
Close #iNumber
REM Elimino tutti i nomi definiti
oRanges = ThisComponent.NamedRanges
for i = oRanges.Count -1 To 0 Step -1
oRanges.removebyname(oRanges.ElementNames(i))
next i
Goto continua
Non ho provato se funzioni con il ciclo for ma a mio avviso un ciclo for o loop avrebbe senso se si volesse rimuovere alcuni degli elementi(tramite l’uso di if) e non tutti gli elementi dove basta fare set collezione = nothing.patel ha scritto:Con libre uso questama con OO si blocca, c'è un altro modo ?Codice: Seleziona tutto
n = collezione.Count() for i = n to 1 step -1 collezione.remove(i) next
Più che impostare una nuova collection per poi rimuovere gli elementi io la eliminerei come specificato sopra.geovign ha scritto:Ciao patel,
ho provato ad impostare nuovamente la variabile "collezione" con l'istruzione "set" e sembra che funzioni (OO 4.1.6 su macchina virtuale)
Codice: Seleziona tutto
Dim collezione As New Collection
Do While (sFileName <> "")
n = collezione.Count()
for i = n to 1 step -1
collezione.remove(i)
next
Codice: Seleziona tutto
Do While (sFileName <> "")
set collezione = New Collection
Codice: Seleziona tutto
set collezione = Nothing
Il ciclo for non viene eseguito in quanto la variabile n ha valore ZERO per questo ti funziona pure su OO, non ha senso rimuovere elementi da una nuova collection che è già vuotageovign ha scritto: A me funziona esclusivamente così (sia in LO che OO)mantenendo anche il ciclo for, altrimenti mi crea un errore in altra pare del codice.Codice: Seleziona tutto
n = collezione.Count() if n > 0 then set collezione = New Collection n = collezione.Count() end if for i = n to 1 step -1 collezione.remove(i) next
Saluti
Geo