- Katılım
- 25 May 2018
- Mesajlar
- 1,610
- En iyi yanıt
- 14
- Puanları
- 113
- Konum
- İstanbul
- Web sitesi
- excelarsivi.com
- Ad Soyad
- Murat OSMA
- Office Vers.
- Microsoft 365 TR+EN
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]
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]
Örnek Kodlar
EOF FONKSİYONU
LINE INPUT FONKSİYONU
INPUT FONKSİYONU
LOF FONKSİYONU
Loc FONKSİYONU
Append (FreeFile) FONKSİYONU
PUT FONKSİYONU
Put # [Dosya No], [Kayıt No], geçici dosya değişkeni
GET FONKSİYONU
Get # [Dosya No], [Kayıt No], geçici dosya değişkeni
SEEK FONKSİYONU
Seek # [Dosya No], pozisyon
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. |
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]
Örnek Kodlar
PHP:
Sub ExcelTurkey()
Open "C:\ETF.txt" For Output As #1
Print #1, "Www.ExcelTurkey.Com"
Close #1
End Sub
PHP:
Sub ExcelTurkey()
Dim i As Integer
Open "C:\ETF.txt" For Output As #1
For i = 1 To 10
Print #1, "Www.ExcelTurkey.Com"
Next i
Close #1
End Sub
PHP:
Sub ExcelTurkey()
Open "C:\ETF.txt" For Output As #1
Print #1, "Www.ExcelTurkey.Com", "Excel ile Makro Kodlama", destek@excelturkey.com
Close #1
End Sub
PHP:
Sub ExcelTurkey()
Dim i As Integer
For i = 1 To 4
Open "C:\Excel" & i & ".txt" For Output As #i
Print #i, "Www.ExcelTurkey.Com"
Close #i
Next i
End Sub
PHP:
Sub ExcelTurkey()
Open "C:\ETF.TXT" For Output As #1
Print #1, "Www.ExcelTurkey.Com", "Excel ile Makro Kodlama", destek@excelturkey.com
Close #1
End Sub
PHP:
Sub ExcelTurkey()
Open "C:\ETF.txt" For Output As #1
Print #1, Worksheets("Sayfa1").Cells(1, 1).Value
Close #1
End Sub
PHP:
Sub ExcelTurkey()
Open "C:\ETF.txt" For Output As #1
For i = 1 To 10
Print #1, Cells(i, 1), Cells(i, 2)
Next i
Close #1
End Sub
PHP:
Sub Osma6()
Dim veri1 As String * 60
Dim veri2 As String * 60
Dim veri3 As String * 60
Open "C:\ETF.txt" For Random As #1 Len = 60
veri1 = "Www.ExcelTurkey.Com"
veri2 = "Excel Destek Forumu"
veri3 = destek@excelturkey.com
Put #1, 1, veri1
Put #1, 2, veri2
Put #1, 3, veri3
Close #1
End Sub
PHP:
Sub DosyayaYazdir_Write()
satir = 1
Open "C:\ETF" 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
PHP:
Sub DosyayaYazdir_Print()
satir = 1
Open "C:\ETF.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
EOF FONKSİYONU
PHP:
Sub DosyadanAl_EOF()
satir = 1
Open "C:\ETF.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
LINE INPUT FONKSİYONU
PHP:
Sub DosyadanAl_LINE_INPUT()
satir = 1
Open "C:\Etf.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
INPUT FONKSİYONU
PHP:
Sub DosyadanAl_INPUT()
satir = 1
Open "C:\Murat.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
LOF FONKSİYONU
PHP:
Sub DosyaUzunlugu_LOF1()
Open "C:\ETF.csv" For Input As #1
dosyaUzun = LOF(1)
Close #1
MsgBox "Deneme1.csv dosyası " & dosyaUzun & " bytedir."
End Sub
PHP:
Sub DosyaUzunlugu_LOF2()
For i = 1 To 6
Open "C:\ETF" & 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
Loc FONKSİYONU
PHP:
Sub LocFonk()
Open "C:\ETF.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
Append (FreeFile) FONKSİYONU
PHP:
Sub YeniVeriEkle1()
Open "C:\ETF.txt" For Append As #1
Print #1, "Www.ExcelTurkey.Com"
Close #1
End Sub
PHP:
Sub YeniVeriEkle2()
Open "C:\ETF.txt" For Append As #1
Print #1, Range("A1")
Close #1
End Sub
PHP:
Sub YeniVeriEkle3()
Open "C:\ETF.txt" For Append As #1
Print #1, Range("B1"), Range("B2"), Range("B3"), Range("B4")
Close #1
End Sub
PUT FONKSİYONU
Put # [Dosya No], [Kayıt No], geçici dosya değişkeni
GET FONKSİYONU
Get # [Dosya No], [Kayıt No], geçici dosya değişkeni
SEEK FONKSİYONU
Seek # [Dosya No], pozisyon
Moderatör tarafında düzenlendi: