Trovare un singolo carattere in una stringa utilizzando VBA è una speciale istanza di trovare una stringa all'interno di un'altra . Il processo si usa una sola parola di Visual Basic , InStr , che cerca il testo di una stringa specifica , o di un carattere unico , in questo esempio . Il resto del codice è necessario per consentire l'input dall'utente e visualizzare i risultati . Il processo utilizza un metodo di ricerca case-insensitive , cioè, esso troverà lettere minuscole o maiuscole . Istruzioni
1
aprire uno dei programmi di Microsoft Office che utilizzano VBA ( Visual Basic for Applications ) e contengono già una parte di testo . Clicca su "Sviluppatore " nel menu in alto e poi " Visual Basic ", che saranno elencati nella seconda fila di opzioni. Questo apre la schermata VBA Editing .
2
Inserisci le seguenti righe nella finestra vuota .
Sub FindCharacter ( ) Dim KnownString , SoughtCharacter , trova come StringDim Location, i, regolare se IntegerKnownString = InputBox ( " Digitare o copiare e incollare il testo da cercare " ) SoughtCharacter = InputBox ( " Inserire il carattere ricercato qui " ) Posizione = InStr ( 1 , KnownString , SoughtCharacter , vbTextCompare ) Regolare = 10Solo i = 1 a Len ( KnownString ) Se Location < Regolare ThenAdjust = Regola /5End IFIF i = Località ThenFound = Mid ( KnownString , Location - Regola Posizione + Adjust ) MsgBox "Questa è la prima occorrenza di " & vbCrLf & SoughtCharacter & , " nel contesto" & vbCrLf & " ' " & Found & " ' " End Sub IfNext iend
3
Ridurre il lato destro del seguente linea se la ricerca di un personaggio molto in brevi segmenti di testo :
Regolare = 10
fare questo perché il progetto è impostato per visualizzare un numero predefinito di caratteri su entrambi i lati del ricercato carattere . Se la stringa è troppo breve, il programma genererà un errore .
4
Clicca su "Macro " nella sezione Developer del documento di Word ed eseguire questa macro per vedere come funziona. Se la macro non riesce, ricontrollare il vostro lavoro da le indicazioni sopra riportate .