[Risolto] macro per trovare una stringa

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Raoul Duke
Messaggi: 132
Iscritto il: giovedì 7 marzo 2019, 12:11

[Risolto] macro per trovare una stringa

Messaggio da Raoul Duke »

Salve
in una macro, sapete com'è il comando che (senza usare il despatcher) trova una cella contenente una specifica stringa e ne restituisce le coordinate?
grazie
Ultima modifica di Raoul Duke il sabato 27 aprile 2019, 12:59, modificato 1 volta in totale.
OpenOffice 4.1.5 con MacOS 10.13.6
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: macro per trovare una stringa

Messaggio da patel »

un esempio

Codice: Seleziona tutto

Sub Cerca
  Dim oSheet, oRange, oFoundCell, oDescriptor, oFound
  Doc = ThisComponent
  oSheet = Doc.Sheets(0)
  Tofind = "Giulia"
  oDescriptor = oSheet.createSearchDescriptor()
  With oDescriptor
    .SearchString = Tofind
    .SearchWords = True
    .SearchCaseSensitive = False
  End With
  oFound = oSheet.findFirst(oDescriptor)
  arow = oFound.CellAddress.Row 
  acol = oFound.CellAddress.Column 
  Print  oFound.getString() & " - riga " & arow & ", col " & acol
End Sub
queste cose le trovi facilmente qui http://www.pitonyak.org/oo.php
-------------------
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
Raoul Duke
Messaggi: 132
Iscritto il: giovedì 7 marzo 2019, 12:11

Re: macro per trovare una stringa

Messaggio da Raoul Duke »

ah grazie avevo consultato la guida ma mi era sfuggito, avevo trovato solo il codice per il Replace.

ma se per caso ci fossero più celle contenenti la stringa da trovare, restituisce solo la prima giusto?
c'è modo di trovare anche le eventuali altre?
OpenOffice 4.1.5 con MacOS 10.13.6
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: macro per trovare una stringa

Messaggio da patel »

Raoul Duke ha scritto:ah grazie avevo consultato la guida ma mi era sfuggito, avevo trovato solo il codice per il Replace.

ma se per caso ci fossero più celle contenenti la stringa da trovare, restituisce solo la prima giusto?
c'è modo di trovare anche le eventuali altre?
il codice proposto restituisce solo la prima, per trovare le altre devi utilizzare un ciclo ed il metodo findnext che trovi sempre nella guida sopra citata
-------------------
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
Raoul Duke
Messaggi: 132
Iscritto il: giovedì 7 marzo 2019, 12:11

Re: macro per trovare una stringa

Messaggio da Raoul Duke »

grazie mille,
sei stato gentilissimo come sempre!
OpenOffice 4.1.5 con MacOS 10.13.6
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: [Risolto] macro per trovare una stringa

Messaggio da patel »

Sarebbe gentile da parte tua mostrare il codice con cui hai risolto
-------------------
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
Raoul Duke
Messaggi: 132
Iscritto il: giovedì 7 marzo 2019, 12:11

Re: [Risolto] macro per trovare una stringa

Messaggio da Raoul Duke »

in realtà per adesso non l'ho ancora scritto quello per la ricorsività.
mi serviva solo il find che mi hai scritto tu, ma siccome penso che in seguito ci potrebbe essere la possibilità che ci siano più stringhe uguali da cercare ti ho fatto quella domanda.
cmq si, appena lo scriverò lo posterò qui!
OpenOffice 4.1.5 con MacOS 10.13.6
Rispondi