Mirko Santarelli ha scritto:
In effetti mi ero rivolto qui perche' la mia intenzione era di creare
una macro, ieri ci ho lavorato un po' (su carta) sulle possibili
soluzioni, poi mi metto al PC (anzi al MAC) con Openoffice 2.0 a provare
intanto il cerca e sostituisci e con questo semplice codice
Sub prova
Dim Doc As Object
Dim Shett As Object
Dim ReplaceDescriptor As Object
Dim I As Integer
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
ReplaceDescriptor = Sheet.createReplaceDescriptor()
ReplaceDescriptor.SearchString = "is"
ReplaceDescriptor.ReplaceString = "was"
For I = 0 to Doc.Sheets.Count - 1
Sheet = Doc.Sheets(I)
Sheet.ReplaceAll(ReplaceDescriptor)
Next I
End sub
mi viene restituito errore sulla riga
Sheet= Doc. Sheets(0) ...errore di runtime basic proprieta' o metodo
non trovati
Prima di tutto devi decide se cercare in tutto il documento o soltanto
su una tabella (magari quella attiva...)
Io per il momento mi eviterei delle grane (la vita è già abbastanza
complicata di suo) e cercherei solo sulla tabella attiva.
In tal caso userei questo codice:
Doc = thisComponent ' per ottenere il documento attivo
Sheet = Doc.Sheets.getByName(doc.currentcontroller.activesheet.name) '
per ottenere la tabella attiva
Ho provato a sostituire nella tua macro quelle due righe e la macro
funziona; cioè ti sostituisce gli "is" che hai scritto con dei "was"...
Ma si tratta della sostituzione di una stringa e non della proprietà
"colore di sfondo" di una cella....
Pur conoscendo poco il ReplaceDescriptor, ritengo che con quello si
possano trovare e sostituire soltanto le stesse cose che si possono
trovare/sostituire con la GUI... e non di più.
Quindi non ti risolve il problema!
Io ti consiglierei di usare un ciclo di for percorrendo cella per cella
dal A1 all'ultima cella usata.
Per ciascuna cella un if che verifica la proprietà " colore di sfondo",
e se corrisponde a quello che cerchi lo modifica a "trasparente".
Probabilmente ci sono dei metodi migliori... ma questo è quello che farei.
Buon divertimento
Bart
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]