Microsoft Office Excel ® Kod Kılavuzu

Microsoft Office Excel® Code Guide

1 Kasım 2007 Perşembe

VBA [Object] Open Statement




'Excel ortamında txt, csv tip dosyalara veri yazma ve okuma işlemidir.

'A) DOSYALAMA ve VERİTABANI FONKSİYONLARI

'Open "Dosya Adı ve Yolu" For [Açma Metodu] Access [Erişim Modu] [lock] As # [Dosya Numarası] Len [Kayıt Uzunluğu]
'Dosya Adı ve Yolu : Açmak istediğiniz dosyanın bulunduğu dizin ve adıdır.
'Açma Modu : Dosyaların açılacağı yöntemi belirlemek için kullanılır. Bunlar sırasıyla; Random, Binary, Input, Output, Append modlarıdır.
'Random Modu: Kayıtlar dosyaya yazılırken, belirtilen kayıt uzunluğuna göre yazılırlar. Kaydedilen veri ister belirlenen uzunluktan az, isterse fazla olsun, dosyada kaplayacağı alan belirtilen kayıt uzunluğu kadardır.
'Binary Modu: Kayıtlar dosyaya bu modda yazdırıldığı zaman, ulaşmak istediğiniz karaktere karakterin numarasını vererek ulaşabilirsiniz. Diğer modların aksine bu mod kayıtlara sadece bir bütün olarak değil, karakter karakter olarak ulaşabilir.
'Input Modu: Sıralı erişim olan bu mod, dosyadaki kayıtları okumak için kullanılır.
'Output Modu: Bu da sıralı erişim modudur. Input’un tersine bu mod dosyaya yazdırmak için kullanılır.
'Append Modu: Input ve Output modları gibi sıralı erişimi olan bir moddur. Bu modun Output’tan tek farkı dosya göstericisinin dosyanın sonunda durmasıdır. En son yazılan kayıt, dosyanın en sonuna eklenecektir.
'Erişim Modu : Dosyanın açılacağı parametreyi belirler. 3 ayrı erişim modu bulunmaktadır. Read, Write, Read Write
'Read Modu : Dosyayı salt okunur olarak açmak için kullanılır.
'Write Modu : Dosyaya sadece yazmak için kullanılır.
'Read Write Modu : Dosyaya hem okumak hem de yazmak için kullanılır.
'Lock : Dosyanın açılması sağlandığında, farklı programların bu dosyaya erişimini engellemek için kullanılır.
'Shared : Diğer programlar dosyayı hem açar, hem de yazarlar.
'Read : Diğer programlar sadece yazabilirler, okuyamazlar.
'Write : Diğer programlar sadece okuyabilirler, yazamazlar.
'Read Write : Diğer programlar okuyamaz ve yazamazlar.
'Dosya Numarası : Dosyanın kayıt (1-511) numarası denilebilir. Her açılan dosyaya bir numara verilir ve dosyaya ulaşmak istenildiğinde bu numara kullanılır.
'Kayıt Uzunluğu : Dosyaya kaydedilecek verinin [Veri Uzunluğu <= 32767 (bytes)] uzunluğunu belirler.

 
'B) OPEN (Dosya Açmak), CLOSE (Dosya Kapatmak)
 
'Open "..." For Input As #1
'Open "..." For Binary Access Write As #1
'Open "..." For Output Shared As #1
'Open "..." For Binary Access Read Lock Read As #1
'Open "..." For Random As #1 Len = Len(Kayit)
'Close #[DosyaNo]
Sub Veriler1()
Open "C:\Test.txt" For Output As #1
Print #1, "Mustafa ULUSARAÇ"
Close #1
End Sub
Sub Veriler2()
Dim i As Integer
Open "C:\Test1.txt" For Output As #1
For i = 1 To 10
Print #1, "Mustafa ULUSARAÇ"
Next i
Close #1
End Sub
Sub Veriler3()
Open "C:\Test3.txt" For Output As #1
Print #1, "Mustafa ULUSARAÇ", "Yönetim Muhasebesi", 01ulusarac@superonline.com
Close #1
End Sub
Sub Veriler4()
Dim i As Integer
For i = 1 To 4
Open "C:\SeriDosya" & i & ".txt" For Output As #i
Print #i, "Mustafa ULUSARAÇ"
Close #i
Next i
End Sub
Sub Veriler5()
Open "C:\Test4.TXT" For Output As #1
Print #1, "Mustafa ULUSARAÇ"; "Yönetim Muhasebesi"; 01ulusarac@superonline.com
Close #1
End Sub
Sub Veriler6()
Open "C:\Test5.txt" For Output As #1
Print #1, Worksheets("Sayfa1").Cells(1, 1).Value
Close #1
End Sub
Sub Veriler7()
Open "C:\Test6.txt" For Output As #1
For i = 1 To 10
Print #1, Cells(i, 1), Cells(i, 2)
Next i
Close #1
End Sub
Sub Veriler8()
Dim veri1 As String * 60
Dim veri2 As String * 60
Dim veri3 As String * 60
Open "C:\Test7.txt" For Random As #1 Len = 60
veri1 = "Mustafa ULUSARAÇ"
veri2 = "Yönetim Muhasebesi"
veri3 = 01ulusarac@superonline.com
Put #1, 1, veri1
Put #1, 2, veri2
Put #1, 3, veri3
Close #1
End Sub
Sub DosyayaYazdir_Write()
satir = 1
Open "C:\Deneme1.csv" For Output As #1
satir = Worksheets("Sayfa1").Range("A1").CurrentRegion.Rows.Count
For i = 1 To satir
Write #1, Cells(i, 1), Cells(i, 2), Cells(i, 3), Cells(i, 4)
Next i
Close #1
End Sub
Sub DosyayaYazdir_Print()
satir = 1
Open "C:\Deneme2.csv" For Output As #1
satir = Worksheets("Sayfa1").Range("A1").CurrentRegion.Rows.Count
For i = 1 To satir
Print #1, Cells(i, 1), Cells(i, 2), Cells(i, 3), Cells(i, 4)
Next i
Close #1
End Sub
 
'C) EOF FONKSİYONU
 
Sub DosyadanAl_EOF()
satir = 1
Open "C:\Deneme3.csv" For Input As 1
Do While Not EOF(1)
Line Input #1, kayit1
If kayit1 <> Empty Then
Cells(satir, 1) = kayit1
satir = satir + 1
End If
Loop
Close #1
End Sub
 
'D) LINE INPUT FONKSİYONU
 
Sub DosyadanAl_LINE_INPUT()
satir = 1
Open "C:\Deneme4.csv" For Input As 1
Do While Not EOF(1)
Line Input #1, kayit1
If kayit1 <> Empty Then
        Cells(satir, 1) = kayit1
        satir = satir + 1
End If
Loop
Close #1
Cells(1, 1).CurrentRegion.TextToColumns DataType:=xlDelimited, Comma:=True
End Sub
 
'E) INPUT FONKSİYONU
 
Sub DosyadanAl_INPUT()
satir = 1
Open "C:\Deneme5.csv" For Input As #1
Do While Not EOF(1)
Input #1, kayit1
If kayit1 <> Empty Then
Input #1, kayit2, kayit3, kayit4
Cells(satir, 1) = kayit1
Cells(satir, 2) = kayit2
Cells(satir, 3) = kayit3
Cells(satir, 4) = kayit4
satir = satir + 1
End If
Loop
Close #1
End Sub
 
'F) LOF FONKSİYONU
 
Sub DosyaUzunlugu_LOF1()
Open "C:\Deneme6.csv" For Input As #1
dosyaUzun = LOF(1)
Close #1
MsgBox "Deneme1.csv dosyası " & dosyaUzun & " bytedir."
End Sub
Sub DosyaUzunlugu_LOF2()
For i = 1 To 6
Open "C:\SeriDeneme" & i & ".txt" For Input As #i
dosyaUzun = LOF(i)
Close #i
Cells(i, 1).Value = "SeriDeneme" & i & ".txt"
Cells(i, 2).Value = dosyaUzun
Next i
End Sub
 
'G) Loc FONKSİYONU
 
Sub LocFonk()
Open "C:\Deneme7.csv" For Binary As #1
Do While uzunluk
Veri = Veri & Input(1, #1)
uzunluk = Loc(1)
Cells(1, 1) = Veri
Cells(1, 2) = uzunluk
Loop
Close #1
End Sub
 
'H) Append (FreeFile) FONKSİYONU
 
Sub YeniVeriEkle1()
Open "C:\VeriEkle1.txt" For Append As #1
Print #1, "Mustafa ULUSARAÇ"
Close #1
End Sub
Sub YeniVeriEkle2()
Open "C:\VeriEkle2.txt" For Append As #1
Print #1, Range("A1")
Close #1
End Sub
Sub YeniVeriEkle3()
Open "C:\VeriEkle3.txt" For Append As #1
Print #1, Range("B1"), Range("B2"), Range("B3"), Range("B4")
Close #1
End Sub
 
'I) PUT FONKSİYONU
 
'Put # [Dosya No], [Kayıt No], geçici dosya değişkeni

 'J) GET FONKSİYONU
 
'Get # [Dosya No], [Kayıt No], geçici dosya değişkeni
 
'K) SEEK FONKSİYONU
 
'Seek #[Dosya No], pozisyon

Hiç yorum yok:

Blog Arşivi

Bu gadget'ta bir hata oluştu

Bu Blogda Ara

Contributor

Contributor
Mustafa ULUSARAÇ İstanbul, TÜRKİYE
free counters
T. C. Central Bank Indicative Exchange Rates
Currency Exchange Rate Widget,Currency Converter Widget
Borsa İstanbul