Ściągawka z funkcji i właściwości systemowych VBA. Nazwa funkcji Składnia Typ zwracanej wartości Opis działania i parametrów Funkcje konwersji CBool CBool(arg) Boolean arg powinno być wartością numeryczną (lub zmienną) lub ciągiem tekstowym zawierającym liczbę. Funkcja zwraca wartość False(0), gdy podana wartość=0, lub True(- 1) w pozostałych przypadkach. CByte CByte(arg) Byte Zwraca wartość arg w postaci wartości numerycznej typu byte. Parametr arg musi przedstawiać liczbę całkowitą 0-255 CDate CDate(arg) Date Przekształca datę podaną jako wartość liczbową lub jako ciąg tekstowy w wartość typu Date CDbl CDbl(arg) Double Analogicznie do CByte CInt CInt(arg) Integer Analogicznie do CByte CLng CLng(arg) Long Analogicznie do CByte CStr CStr(arg) String Jeśli arg jest zmienną typu Boolean, wtedy funkcja zwraca słowo True lub False. Jeśli arg jest zmienną typu Date, wtedy funkcja zwraca ciąg tekstowy zawierający podaną datę zapisaną w formacie daty krótkiej, zdefiniowanym w ustawieniach regionalnych danego komputera. Jeśli arg jest zmienną liczbową, wtedy funkcja zwraca ciąg tekstowy zawierający tą liczbę CVar CVar(arg) Variant Przekształca podaną wartość liczbową lub ciąg tekstowy w zmienną typu Variant. Funkcje Daty i Czasu Now Now() Zwraca wartość bieżącej daty i czasu w oparciu o systemowy zegar czasu rzeczywistego. 1
DateAdd DateAdd(interval, number, date) Zwraca wartość daty podanej w argumencie date, do której dodano odpowiedni interwał liczbę razy określoną argumentem number. Interwałem może być rok( yyyy ), kwartał( q ), miesiąc( m ), dzień( d ), tydzień( ww ). Argument number może być dodatni, jeżeli szukamy daty przyszłej względem date, lub ujemny, jeżeli szukamy daty przeszłej. DateDiff DateDiff(interval, date1, date2) więcej szczegółów dotyczących składni w pomocy VBA Zwraca ilość interwałów określonego typu pomiędzy datami. DatePart DatePart(interval, date) więcej szczegółów dotyczących składni w pomocy VBA Zwraca ilość interwałów, które upłynęły od daty date do daty bieżącej. DateSerial DateSerial(rok, miesiac, dzien) Zwraca wartość daty na podstawie numeru roku, miesiąca i dnia. Day Day(date) Variant(Integer) Zwraca numer dnia miesiąca na podstawie podanej daty Month Month(date) j.w. Analogicznie j.w. Year Year(date) j.w. Analogicznie j.w. WeekDay WeekDay(date, [FirstDayOfWeek]) Variant(Integer) Zwraca numer dnia tygodnia. Argument firstdayofweek określa, od którego dnia liczony jest nowy tydzień. Jeśli argument jest pominięty, wtedy przyjmowana jest niedziela. Jeżeli argument=0, wtedy przyjmowane są ustawienia systemowe komputera. W pozostałych przypadkach wartość firstdayofweek wskazuje na pierwszy dzień tygodnia, przy czym 1=niedziela, 2=poniedziałek, itd. Hour Hour(time) Variant(Integer) Zwraca numer godziny 0-23 dla podanego czasu. Minute Minute(time) j.w. Analogicznie j.w. Second Second(time) j.w. Analogicznie j.w. 2
TimeSerial TimeSerial(godzina, minut, sekund) Zwraca wartość odpowiadającej momentowi określonemu przez numer godziny, minuty i sekundy. Funkcje informacyjne IsArray IsArray(zmienna) Boolean Zwraca wartość True lub False, w zależności czy podana zmienna jest zmienną tablicową. IsDate IsDate(argument) Boolean Zwraca wartość True lub False, w zależności od tego, czy argument jest liczbą lub ciągiem tekstowym reprezentującym poprawną datę. IsNull IsNull(argument) Boolean Zwraca wartość True lub False, w zależności od tego, czy argument zawiera wartość Null (jest pusty) IsNumeric IsNumeric(argument) Boolean Zwraca wartość True, jeśli argument jest wartością numeryczną lub ciągiem tekstowym reprezentującym wartość liczbową. RGB RGB(czerwony, zielony, niebieski) Long Funkcje matematyczne Abs Abs(liczba) taki sam jak argumentu Zwraca wartość koloru w formacie RGB, na podstawie wyrażonych jako liczby z przedziału 0-255 wartości składowych koloru. Zwraca wartość bezwzględną z podanej liczby Sin, Cos, Tan Sin(arg) Double Zwraca wartość sinusa, cosinusa, tangensa danego kąta. Exp Exp(arg) Double Zwraca wartość liczby e podniesionej do potęgi arg. Log Log(arg) Double Zwraca wartość logarytmu naturalnego z podanej liczby. Rnd Rnd() Double Zwraca wartość pseudolosową, wygenerowaną według rozkładu równomiernego na przedziale [0;1). Przed pierwszym użyciem należy wykonać polecenie Randomize. Round Round(arg, [NumDigitsAfterDecimal]) Zwraca podaną wartość zaokrągloną do podanej liczby miejsc po przecinku. W razie pominięcia argumentu NumDigitsAfterDecimal następuje zaokrąglenie do liczb całkowitych. 3
Int Int(arg) Zwraca podaną wartość zaokrągloną do największej liczby całkowitej, niewiększej od liczby zaokrąglanej (zaokrąglenie zawsze w dół). Sgn Sgn(arg) Variant(Integer) Zwraca wartość znaku podanej liczby dla liczb ujemnych 1; dla liczb dodatnich +1; dla zera 0. Sqr Sqr(arg) Double Zwraca wartość pierwiastka kwadratowego z podanej liczby. Funkcje tekstowe Asc Asc(string) Integer Zwraca wartość kodu ASCII znaku tekstowego podanego jako argument. Chr Chr(arg) String Zwraca ciąg tekstowy zawierający znak o kodzie ASCII określonym przez liczbę arg. InStr InStr([Start,] string1, string2, [Compare]) Variant(Long) Zwraca najwcześniejszą pozycję w ciągu string1 na której występuje string2, ewentualnie począwszy od znaku nr start. W przypadku gdy string2 nie występuje w string1 funkcja zwraca wartość 0. Jako argument Compare można ustawić sposób porównywania ciągów tekstowych zobacz opis poniżej. LCase LCase(string) String Zwraca ciąg tekstowy, w którym wszystkie litery zostały zamienione na małe. UCase UCase(string) String Zwraca ciąg tekstowy, w którym wszystkie litery zostały zamienione na wielkie. Len Len(string) Long Zwraca długość ciągu tekstowego, mierzoną ilością znaków. Left Left(string, length) String Zwraca początek ciągu tekstowego string, dokonując ewentualnego obcięcia do pierwszych length znaków. Right Right(string, length) String Zwraca ostatnie length znaków ciągu tekstowego string. Mid Mid(string, start [,length]) String Zwraca podciąg ciągu tekstowego zaczynający się od pozycji start i liczący nie 4
więcej niż length znaków. Replace StrComp Replace(expression, find, replace [, start [, count [, compare]]]) StrComp(string1, string2 [, Compare]) String Integer Zwraca ciąg tekstowy oparty na ciągu expression, przy czym podciągi o brzmieniu find zostają zamienione na replace. Argument start określa pozycję ciągu expression od której rozpoczynane jest przeszukiwanie (domyślnie 1). Argument count określa maksymalną liczbę zamian (domyślnie 1 czyli wszystkie wystąpienia). Argument compare określa sposób porównywania ciągów tekstowych por. niżej. Zwraca wynik porównania dwóch ciągów tekstowych, w oparciu o wskazany sposób porównywania określony argumentem compare. Wynik wynosi 1, jeśli string1 jest mniejszy niż string2, 1 gdy string1 jest większy niż string2 lub 0 gdy są równe. Sposoby porównywania ciągów tekstowych: vbbinarycompare znaki ciągów tekstowych są porównywane na podstawie wartości kodów ASCII im przyporządkowanych, co powoduje, że istotna jest wielkość liter oraz że znaki specjalne (np. polskie literki z ogonkami ) są porządkowane w kolejności niealfabetycznej, tj.: A<B<C<a<b<c<z< Ą < Ę < ą < ę vbtextcompare znaki ciągów tekstowych są porównywane na podstawie ich kolejności wynikającej z językowych ustawień systemowych oraz bez względu na podział wielkie/małe, tj.: (A=a) < (Ą=ą) < (B=b) < (C=c) < (Ć=ć) itd. Sposób porównywania ciągów tekstowych można określać w poszczególnych funkcjach tekstowych, które na to pozwalają, ale można również określić domyślny sposób porównywania przy pomocy opcji modułu, tj. używając na początku programu wyrażeń Option Compare Binary lub Option Compare Text. 5