Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Excel’de VBA programlama (Visual Basic Application) Ders 5

Benzer bir sunumlar


... konulu sunumlar: "Excel’de VBA programlama (Visual Basic Application) Ders 5"— Sunum transkripti:

1 Excel’de VBA programlama (Visual Basic Application) Ders 5

2 Dosyalarla Çalışmak Dosya İşlemleri Dosya Erişimi Dosya Yönetimi
Verilerin kalıcı olarak saklamak için bir disk dosyasına kaydetmek gerekir. Her uygulamanın kendine has dosya formatı vardır (.doc, .xls, .bas vb. ). Bunarın dışında veri yönetimi için güçlü ve esnek araçlar kullanmak gerekebilir. Dosya İşlemleri Dosya Erişimi Dosya Yönetimi Dosya veya klasör oluşturulması kopyalanması silinmesi taşınması Veri okunması yazılması eklenmesi

3 Dosya İşlemleri İçin Yaklaşımlar
Klasik Yaklaşım Nesne Yönelimi Basic dili deyimleri kullanarak Metin ve İkili dosya erişimleri Dosya yönetimi FSO (File System Object) Metin dosya erişimi Dosya yönetimi Bu iki yaklaşımın kullanımı; sonucu değil, kodun nasıl yazılacağını etkiler. Her iki yaklaşım birlikte kullanılabilir.

4 Dosya Erişimi Dosya Tipleri Üç adımdan oluşur; Dosyayı Açmak
Dosyaya veri yazmak, eklemek veya okumak Sıralı Dosyaların Kullanılması Rastgele Dosyaların Kullanılması İkili Dosyaların Kullanılması Metin Dosyalarının Kullanılması Dosyayı Kapamak Dosya Tipleri Sıralı (sequential file) Rastgele (random file) İkili (binary file) Metin (Text File)

5 Dosya Erişimi Sıralı Dosya Menü Metin Dosyasıdır.
Veriler kayıt (record) adı verilen değişken uzunlukta bir dizi birim halinde saklanır. Bir sayı, bir harf veya bir karakter katarı kayıt olabilir. Bir kaydın sonu ve diğerinin başlangıcı bir carriage return/line feed (CRLF) karakteriyle gösterilir. Bir satırda tek başına bulunan CRLF karakteri boş kaydı gösterir. Kayıtlar dosyanın başından itibaren sıra ile kaydedilir veya okunur. Doğrudan istene kayda atlamak mümkün değildir.

6 Dosya Erişimi Rastgele Dosya Menü
Metin ve Sayı Dosyasıdır. Metinler karakter halinde, sayılar ise ikilik formatta saklanır Veriler adı verilen sabit uzunlukta bir dizi kayıt (record) halinde saklanır. Dosyadaki her kayıt aynı büyüklüktedir. Kayıt büyüklüğü dosya ilk oluşturulduğunda tanımlanır. Her kayıt bir yada daha fazla alan içerir. Kayıt büyüklüğü alanların büyüklükleri toplamına eşittir. Bu nedenle kayıt sonunu belirlemek için herhangi bir sınırlayıcı kullanılmaz. Bu özelliğinden dolayı istenen kayda doğrudan erişimek mümkündür.Dosyanın başından itibaren kayıtları sırayla okumak zorunluluğu yoktur.

7 Dosya Erişimi İkili Dosya Menü
Veriler ASCII kodlarıyla ikilik sistemde ve biçimlendirilmemiş şekilde saklanır. Kayıt, sınırlayıcı karakter ve alanlar yoktur. Bu nedenle neyin nerede saklandığından program sorumludur. Genellikle hafızanın belli bir bloğundaki verileri saklamak için kullanılır. (Ekran hafızası gibi)

8 Dosya Erişimi Dosya Açmak
Bir dosyadaki verileri okumadan veya bir dosyaya veriler yazmadan önce o dosyayı açmak gerekir. Dosyalar Open deyimi ile açılır. Open dosyaadı For mod [Access erişim] [lock] As [#] dosyano [Len=kayıtuzunluğu] dosyaadı Açılacak dosyanın adını tanımlayan bir karakter katarı ifadesidir. Eğer dosyaadı sürücü ve yol bilgisi içermiyorsa, dosya geçerli klasörde açılır. mod Dosya erişim modunu gösterir. Eğer belirtilmez ise dosya rastgele açılır.(APPEND, BINARY,INPUT,OUTPUT,RANDOM) erişim Açılmış dosyada, okuma (READ), yazma (WRITE) veya okuma veyazma(READ WRITE) erişimi izni verir lock Dosyaya başka kullanıcıların erişip erişmeyeceğini belirler.(SHARED, LOCK READ,LOCK READ LOCK READ WRITE) dosyano arası değer alabilen ve açık her dosyanın numarasını içeren tamsayı ifadesidir. FreeFile() fonksiyonu ile o anda kullanılmayan en düşük numara döndürülür.

9 Menü Open "TESTFILE" For Input As #1 Open "TESTFILE" For Binary Access Write As #1 Type Record ' Define user-defined type. ID As Integer Name As String * 20 End Type Dim MyRecord As Record ' Declare variable. Open "TESTFILE" For Random As #1 Len = Len(MyRecord) Open "TESTFILE" For Output Shared As #1 Open "TESTFILE" For Binary Access Read Lock Read As #1

10 Dosya Erişimi Dosyayı Kapamak Menü
Bir dosyanın kapatılması işlemi, dosyanın tamponunu temizler ve diskteki fiziksel olarak var olan dosya ile verilerin ilişkilendirilmesini keserek dosya numarasını serbest bırakır. Close # dosyano Close # dosyano1, # dosyano2, # dosyano3… Close

11 Sıralı Dosyaların Kullanımı
Dosya Erişimi Sıralı Dosyaların Kullanımı Veri kaydı yapabilmek için Write # dosyano, liste veya Print # dosyano ,liste deyimleri kullanılır. Dosyanın OUTPUT veya APPEND modunda açılması gereklidir. Print deyimi ile gösterim düzenlemesi yapılırken Write deyiminde alanlar arasında virgül bulunur.

12 Sıralı Dosyaların Kullanımı
Menü Dosya Erişimi Sıralı Dosyaların Kullanımı Dosyadan veriler Input # dosyano, değişkenliste deyimi kullanarak alınır. Input # dosyano, değişken1, değişken2, değişken3 veya Input # dosyano, değişken1 Input # dosyano, değişken2 Input # dosyano, değişken şeklinde kullanılabilir.

13 Rastgele Dosyaların Kullanımı
Dosya Erişimi Rastgele Dosyaların Kullanımı Bir rastgele dosyadaki her kaydın aynı sayıda alanı ve aynı alan büyüklüğü vardır. Rastgele dosyanın yapısı dosya ilk oluşturulurken tanımlanır. Bu işlem kullanıcı tanımlı tip ile gerçekleştirilir. Type isci soyad As String * 16 isim As String * 12 sicil_no As Integer ise_baslama_tarihi As Date End Type Dim iscilerim(500) As isci fn=FreeFile Open “c:\veri\isciler.dat” For RANDOM As #fn Len=Len(iscilerim(0))

14 Rastgele Dosyaların Kullanımı
Menü Dosya Erişimi Rastgele Dosyaların Kullanımı Rastgele dosya açıldıktan sonra bu dosyaya veri kaydı Put deyimi ile yapılır. Put #dosyano, kayıtno, liste kayıtno=Lof(dosyano)\Len(degisken) kullanarak en son kayıt bulunur Rastgele dosyadan veri almak için Get deyimi kullanılır. Get #dosyano, kayıtno, liste

15 İkili Dosyaların Kullanımı
Dosya Erişimi İkili Dosyaların Kullanımı İkili dosyalarda kayıt ve alan yoktur. İkili dosyalar çok esnek oldukları için programcıya kontrol için çok iş düşmektedir. Dosya BINARY modu ile açılır. Rastgele dosyalarda ki gibi PUT ve GET deyimleri kullanılır.

16 Metin Dosyaların Kullanımı
Dosya Erişimi Metin Dosyaların Kullanımı Metin dosyaları üzerinde çalışırken nesne yönelimli metotlar kullanılırken File SystemObject sınıfı kullanılır. Nesne hiyerarşisinin en üstünde olduğu için ilk önce FSO sınıfının bir örneği oluşturularak başlanır. Dim fso Set fso = CreateObject("Scripting.FileSystemObject") Daha sonra TextStream nesnesi oluşturulur. TextStream nesnesi oluşturmak için CreateTextFile veya OpenTextFile metotları kullanılır. Birincisi yazma amaçlı yeni bir metin dosyası açarken ikincisi okuma veya yazma amaçlı açar. Eğer dosya mevcut ise CreateTextFile metodu ile bu dosya silinirken OpenTextFile ile dosyaya ilave yapılır.

17 The OpenAsTextStream method provides the same functionality as the OpenTextFile method of the FileSystemObject. In addition, the OpenAsTextStream method can be used to write to a file.


"Excel’de VBA programlama (Visual Basic Application) Ders 5" indir ppt

Benzer bir sunumlar


Google Reklamları