czwartek, 21 listopada 2013

Funkcja MID w roli operatora

Znana i powszechnie stosowana funkcja MID języka VBA jest nie tylko poleceniem zwracającym fragment tekstu, ale także operatorem, którego zadaniem jest podmiana fragmentu tekstu dla określonej zmiennej.

Wyobraźmy sobie taki tekst:"Uzupełnienie k..... przez f...... MID", w którym w miejsce kropek chcemy wstawić odpowiednie rozwinięcie wyrazów aby uzyskać tekst: "Uzupełnienie kropek przez funkcję MID".

Poniżej przedstawiam dwie proste procedury realizujące to zadanie, pierwsza z nich wykorzystuje funkcję MID w nowej roli. Druga z procedur da dokładnie ten sam efekt. Co jednak ciekawe- pierwsza procedura wykona się około 2-3 razy krócej niż druga.

01Sub Przykład1()
02    
03    Dim strTekst As String
04    strTekst = "Uzupełnienie k..... przez f...... MID"
05    
06    Mid(strTekst, 15, 5) = "ROPEK"
07    Mid(strTekst, 28, 6) = "UNKCJĘ"
08    MsgBox strTekst
09    
10End Sub
11 
12Sub Przykład2()
13    
14    Dim strTekst As String
15    strTekst = "Uzupełnienie k..... przez f...... MID"
16    strTekst = Left(strTekst, 14) & "ROPEK" & Mid(strTekst, 20, 8) _
17                    & "UNKCJĘ" & Right(strTekst, 4)
18    MsgBox strTekst
19End Sub

Źródło powyższego działania funkcji MID zaczerpnąłem z tego pytania na StackOverflow.Com. Zainteresowane osoby zachęcam do zapoznania się z innym ciekawostkami zawartymi w odpowiedziach.  O niektórych z tych ciekawostek wspominałem już w swoich wpisach. O innych z pewnością kiedyś wspomnę w strefie wiedzy. Wiele z tych tematów poruszane podczas kursów VBA, które prowadzimy w Warszawie, Krakowie i Wrocławiu.

Brak komentarzy:

Prześlij komentarz