Se stai scrivendo macro, probabilmente lavori molto con le variabili stringa. Un’operazione comune relativa alle variabili stringa è la necessità di sostituire un’occorrenza di caratteri in una stringa con un’altra occorrenza. Ad esempio, considera la seguente stringa:

"This is my string of characters."

Potresti sostituire “di” con un’altra parola, ad esempio “che ha”.

La seguente funzione generica può fare proprio questo e molto altro:

Function RepText(sIn As String, sFind As String, sRep As String) As String     Dim x As Integer

x = InStr(sIn, sFind)

While x > 0         sIn = Left(sIn, x - 1) & sRep & Mid(sIn, x + Len(sFind))

x = InStr(sIn, sFind)

Wend     RepText = sIn End Function

Come esempio di come utilizzare la funzione, puoi fare quanto segue:

sTemp = "This is my string of characters."

sTemp = RepText(sTemp, "of", "that has")

Quando questo codice viene eseguito, sTemp conterrà la stringa “Questa è la mia stringa che contiene caratteri”.

Nelle mie routine, utilizzo spesso una funzione come RepText per rimuovere spazi extra (sostituendo una stringa di due spazi con una stringa di uno spazio singolo)

o sostituire più spazi con un carattere di tabulazione. Come lo usi, ovviamente, dipende interamente da te.

Coloro che hanno utilizzato solo le ultime versioni di VBA potrebbero essere curiosi di sapere perché dovrei usare una funzione come RepText piuttosto che la funzione di sostituzione incorporata. Sebbene la funzione Sostituisci faccia essenzialmente la stessa cosa di RepText, la sua aggiunta all’arsenale VBA è un’occorrenza relativamente nuova. Se le tue macro hanno anche la minima possibilità di essere utilizzate nelle versioni precedenti di Word, l’uso di Sostituisci corre il rischio di bloccare la tua macro: non sarà disponibile in quelle versioni.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (811) si applica a Microsoft Word 97, 2000, 2002 e 2003.