vba spotkanie9

background image

Visual Basic for Applications

spotkanie 10

Dr inż. Piotr Winiarek

piotrw@ch.pw.edu.pl

GG 30396

background image

Pliki

Plik -

zbiór dyskowy charakteryzujący się

odpowiednią strukturą oraz oryginalną nazwą nadaną
przez użytkownika.

Plik sekwencyjny -

zbudowany jest z wierszy, z

których każdy zakończony jest kodami Chr(13) i
Chr(10). Na końcu pliku znajduje się kod Chr(26).
Odczyt pliku odbywa się po kolei od pierwszego
wiersza do ostatniego. Plikami sekwencyjnymi są pliki
tekstowe.

Plik jednorodny o dostępie swobodnym -

zbudowany jest z rekordów, a te z kolei z pól, w
których zapisuje się dane określonego typu. Na końcu
pliku znajduje się kod Chr(26). Odczyt danej następuje
natychmiast po podaniu numeru rekordu i deskryptora
pola. Dane przechowywane są w postaci binarnej.

background image

Pliki sekwencyjne

• Plikami sekwencyjnymi są pliki

tekstowe

– Struktura pliku

– Odczyt pliku następuje kolejno wiersz po

wierszu. W celu zmiany znaku w ostatnim
wierszu trzeba wczytać wszystkie wiersze
poprzednie, wiersz ostatni i dopiero
poprawiać.

Chr(10)

Chr(13)

Chr(10)

Chr(13)

Chr(13)Chr(10)

Chr(26)

Chr(10)

Chr(13)

background image

Pliki, cd.

dane

zmienna

plik

Zapis danych do pliku

Odczyt danych z pliku

background image

Instrukcje do obsługi plików

Open

– otwórz plik

Close

– zamknij plik

For Input

– do odczytu

For Output

– do zapisu

For Append

– do dodania

Line Input

#1, wiersz – skopiuj wiersz z pliku

nr 1 do zmiennej wiersz

Print

#1, wiersz – zapisz wiersz ze zmiennej

wiersz do pliku nr 1

EOF(1) – koniec pliku nr 1
LOF(1) – wielkość pliku w bajtach

background image

Metody GetOpenFilename

i GetSaveAsFilename

Powodują otwarcie okna Otwórz lub Zapisz jako oraz
umożliwiają przechwyt nazwy pliku wraz ze ścieżką
dostępu pod zmienną typu string.

Dim

nazwa

As

String

nazwa = Application.GetOpenFilename(„Pliki tekstowe
(*.txt), *.txt")

background image

Dane z InputBox do pliku

tekstowego

Sub

do_pliku_tekstowego()

Dim

nazwa

As String

, wiersz

As String

Dim lw As Byte, licznik As Byte

lw = InputBox("Ile wierszy zapiszesz do pliku?")
nazwa = Application.GetSaveAsFilename

Open

nazwa

For Output As

#1

For

licznik = 1

To

lw

wiersz = InputBox("Wpisz " & licznik & " wiersz")

Print

#1, wiersz

Next
Close

#1

MsgBox ("Zapisano do pliku " & lw & " wierszy")

End Sub

background image

Dane z pliku tekstowego do

arkusza

Sub

zapisz_z_pliku_tekstowego()

Dim

nazwa

As String

, wiersz

As String

Dim

licznik

As Byte

nazwa = Application.GetOpenFilename
licznik = 0

Open

nazwa

For Input As

#1

While Not

EOF(1)

Line Input

#1, wiersz

Cells

(ActiveCell.Row + licznik, ActiveCell.Column) =

wiersz
licznik = licznik + 1

Wend
Close

#1

End Sub

background image

Dopisz dane do pliku

tekstowego

Sub

dodaj_do_pliku_tekstowego()

Dim

nazwa

As String

, wiersz

As String

Dim

lw

As Byte

, licznik

As Byte

lw = InputBox("Ile wierszy dodasz do pliku?")
nazwa = Application.GetOpenFilename

Open

nazwa

For Append As

#1

For

licznik = 1

To

lw

wiersz = InputBox("Wpisz " & licznik & "
wiersz")

Print

#1, wiersz

Next
Close

#1

MsgBox ("Zapisano do pliku " & lw & "
wierszy")

End Sub

background image

Podstawowe narzędzia do pracy z

tekstami

Dyrektywy – opcje porównywania

,

umieszcza się je na początku modułu

Option Compare Text

– porównywanie odbywa się

zgodnie z kolejnością alfabetu wybranego w Panelu
Sterowania - Ustawienia Międzynarodowe. Małe
litery nie są odróżniane od wielkich, więc „A” = „a”

Option Compare Binary

- porównywanie odbywa się

zgodnie z wartościami kodów ASCII znaków, więc
„A” > „a”

Option Compare Database

– używa się tylko w MS

Access

background image

Podstawowe narzędzia do pracy z

tekstami

• Operatory

– & - konkatenacja (łączenie tekstów)
– Like – porównywanie tekstu ze wzorcem –

wyrażenie z operatorem Like zwraca wartość

True

lub

False

można korzystać z masek:
? – zastępuje pojedynczy znak w nazwie
# - zastępuje pojedynczą cyfrę w nazwie
[A-Z] – znak należący do listy od A do Z
[!c-e] – znak nie należący do listy od c do e
* - dowolny ciąg znaków

Wyrażenie „ABBA” Like „[A-Z]B*” zwraca

True

, podczas gdy

Wyrażenie „ABBA” Like „?B[!A-D]A” zwraca

False

.

background image

Podstawowe narzędzia do pracy z

tekstami

• Funkcje

InStr([start, ]string1, string2[, compare]) – odnajduje pozycję, od której w

string1 występuje string2

LTrim(string) – obcina spacje wiodące

RTrim(string) – obcina spacje kończące

Trim(string) - obcina spacje przed i za tekstem w zmiennej string

Mid(string, start[, length]) – zwraca fragment tekstu ze zmiennej string

o długości lenght, zaczynający się od pozycji start

Left(string, length) – zwraca lenght znaków znaków z lewej strony tekstu

zapisanego pod zmienną string

Right(string, length) - zwraca lenght znaków znaków z prawej strony

tekstu zapisanego pod zmienną string

Len(string | varname) – liczba znaków w string lub liczba bajtów

zarezerwowana dla zmiennej varname

background image

dziękuję z uwagę


Document Outline


Wyszukiwarka

Podobne podstrony:
vba spotkanie7
vba spotkanie11
vba spotkanie 10
vba spotkanie7
vba spotkanie11
vba spotkanie6
Spotkanie z rodzicami II
Spotkanie w Bullerbyn
Spotkanie z lekarzami
Organizacja spotkan biznesowych
access programowanie w vba
Kiedy e mail Kiedy telefon Kiedy spotkanie
Dziś wolałabym siebie nie spotkać Muller Herta
Bliskie spotkania UFO z samolotami, =- CZYTADLA -=, UFOpedia
Spotkanie 3 Dziecko Maryi nie krzywdzi innych, Spotkania Dzieci Maryi, Dzieci klas I-III
TERAPIA sygmatyzmu szumiące - spotkanie III, LOGOPEDIA, Wady wymowy, Sygmatyzm, Sygmatyzm terapia
sak pokuty, KATECHEZA DLA DZIECI, Konspekty spotkań, katechezy
Spotkanie 15, 3 Tydzień Biblijny, Prezentacje, UNIWERSYTET BIBLIJNY, II. ROK DRUGI, I. Rok szkolny 2

więcej podobnych podstron