Lucrul cu șiruri de caractere

Lucrul cu șiruri de caractere

Această carte vă va ajuta să stăpâniți mediul de dezvoltare integrat VBA și să învățați cum să programați în VBA folosind obiecte, proprietăți, metode și evenimente. Metodele de programare discutate sunt ilustrate prin exemple care pot fi testate imediat în practică. Puteți aplica aceste cunoștințe atât pentru crearea și îmbunătățirea aplicațiilor de birou populare, inclusiv pentru aplicațiile Office XP, cât și pentru crearea propriilor aplicații.







Cartea este concepută pentru cei care vor să învețe rapid și fără prea mult efort să învețe cum să programeze pentru Windows folosind VBA.

Carte: VBA pentru Dummies

Lucrul cu șiruri de caractere

Lucrul cu șiruri de caractere

VBA are o colecție destul de bogată de operatori și funcții pentru formatarea șirurilor și extragerea acelor părți ale acestora, pe care le considerați deosebit de atractive. În tabel. 11.3 Am prezentat toate comenzile legate de șir pe care le-am putut găsi.

Tabelul 11.3. Operatori și funcții pentru procesarea șirurilor

Nu uitați că valorile literale ale șirului (spre deosebire de variabilele care conțin valori de șir) trebuie să fie incluse în ghilimele.

Operator sau funcție

O copie a șirului reprezentată de majuscule

Să ne imaginăm, de exemplu, că aveți o listă cu numele complete sub forma următoarelor linii:

"Samodur, Ivan Akakievici, acad."

"Nefericit, Stepan Fedorovici, prof."

"Joker, Vasile Stepanovici, Cand."

(o astfel de listă ar trebui să fie stocată într-o matrice de șir, matricele vor fi discutate în Capitolul 13).

Să presupunem că cineva v-a forțat să eliminați titlurile la sfârșitul fiecăruia dintre liniile de mai sus. Numele din listă sunt de lungimi diferite, astfel încât funcțiile terminate nu rezolvă problema.

Dar presupunând că numele original este conținut în variabila str-Old, următorul truc vă va ajuta:

strNovaya = Stânga (str Vechi, Len (strOtyaya) - 7)

Dacă VBA citi cărți în loc de cod de program, i-aș explica că aceste acțiuni pot fi efectuate după cum urmează.

1. Se numește prima funcție Len, care calculează lungimea șirului original.

2. Din rezultatul obținut în clauza 1, 7 se scade, deoarece fiecare dintre titluri are șapte caractere la sfârșitul liniei (inclusiv virgulă și spațiu).

Rezultatul este un număr care ar trebui să fie egal cu lungimea liniei noi.







3. Se numește funcția stânga, utilizând lungimea calculată ca valoare a celui de-al doilea argument.

4. Linia nouă, mai scurtă returnată de funcția din stânga este atribuită variabilei

Continuând să lucrați cu noua listă deja fără titluri, să presupunem că acum vi sa cerut să extrageți nume cu patronimică și să le puneți pe o listă nouă. Puteți îndeplini această sarcină cu ajutorul următorului operator:

strMMfl = Mid (strHoBafl, InStr (str-Nou, ",") + 2)

Funcția Mid recuperează caracterele de oriunde din șirul pe care îl specificați ca argument. Al doilea argument al acestei funcții spune unde în această linie trebuie să înceapă extragerea de caractere. În acest caz, acest argument este o expresie constând din funcția InStr plus 2.

Funcția InStr caută șirul specificat (primul argument) pentru un alt șir (al doilea argument).

În acest caz, al doilea argument este o virgulă care urmează numele de familie din listă. Valoarea returnată de InStr corespunde numărului de poziție din prima linie unde are loc a doua linie, - acum știi unde se termină numele final.

La valoarea returnată de funcția InStr, se adaugă 2 pentru a sări peste o virgulă și spațiul următor după aceasta și pentru a găsi poziția cu care începe numele. Acum, funcția Mid va extrage caractere de la acest punct la sfârșitul liniei (deoarece nu există un al treilea argument, lungime opțională).

În programarea reală, tratarea datelor și a timpului nu este ultimul, dar adesea principalul, rol. Prin urmare, VBA oferă un număr de operatori și funcții care vă permit să aflați ora și data curente, să efectuați calcule cu date și să recuperați diverse componente cum ar fi timpul, anul sau ziua variabilei cu valorile datei.

În tabel. 11.4 descrie descrierea acestor comenzi. Unele funcții din acest tabel omit argumentele opționale - puteți specifica întotdeauna detaliile ajutorului VBA.

După masă, mai multe dintre cele mai importante comenzi referitoare la date și ore sunt discutate mai detaliat.

Pentru a profita de materialul furnizat aici, trebuie să înțelegeți în mod clar modul în care VBA procesează valorile datei și timpului și cum să lucrați cu variabilele care stochează datele (vezi capitolul 7).

Tabelul 11.4. Operatori și funcții de lucru cu date și timp

Când specificați argumente, nu uitați să introduceți valorile datei literale într-o pereche de # simboluri, iar valorile de șir din intervalul de date sunt incluse în ghilimele.

Un număr întreg reprezentând anul corespunzător datei specificate

În VBA există mai mulți operatori simpli și funcții pentru lucrul cu data și timpul de sistem al sistemului, adică cu o valoare de dată și oră care este modificată și stocată de ceasul computerului încorporat.

Funcția Now returnează data și ora sistemului actual în formatul unei variabile de tip Data, ca de exemplu în cazul datMovieMotion = Now.

Pentru a vă asigura că lucrați separat cu data și ora sistemului, VBA oferă o pereche de comenzi separate pentru fiecare dintre aceste două elemente ale sistemului. Oarecum surprinzător este că în fiecare pereche atât operatorul, cât și funcția au aceleași nume.

De exemplu, pentru a extrage (adică a obține) timpul de sistem în formatul datei VBA, trebuie să utilizați funcția Time și pentru a seta (setați) ora sistemului, trebuie să utilizați operatorul Time. Cu alte cuvinte, cuvântul cheie Time efectuează diferite acțiuni în funcție de context:

datThisMoeBype = Funcția "Ora" returnează valoarea

Timp (113: 15 AM #) "instrucțiunea Time stabilește timpul sistemului

În mod similar, funcțiile date corespunzătoare și operatorul Data funcționează și variază.







Articole similare

Trimiteți-le prietenilor: