• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Text Dosyasından Karakter Silerek Metin Eklemek

Katılım
1 Mart 2007
Mesajlar
94
Excel Vers. ve Dili
Excel 2010 Eng
Merhabalar forum içerisinde text dosyası düzenleme yazma ile ilgili bir çok örnek inceledim, fakat kendi istediğim şeyler için yeterli bilgiye kendi açımdan sahip olamadım.

Yapmak istediğim işlem txt dosyasının içerisindeki mesela " işaretini silinmesi ve dosya içerisindeki sayısal verilerin yanına istediğim bir metnin eklenmesi.

İçerisinde " işareti içerisine alınarak yazılmış sayısal veriler var

Örnek
Dosya.txt içerisinde

"123456" "250"
"123457" "200"
"123458" "150"

gibi 300.000 veya 250.000 adet satırdan oluşmakta.

Bu dosyayı VBA ile açarak dosya içerisindeki " işaretlerini sildikten sonra

123456 metin 250 metin2
123456 metin 200 metin2
123458 metin 150 metin2

şekline çevirip yine txt dosyası olarak nasıl kayıt edebilirim?

Teşekkürler
 
Text dosyanızın küçük bir örneğini eklerseniz, çabuk ve net yanıt bulabilirsiniz.
 
Teşekkürler Hamitcan

Tabiki ekliyorum.

Text.txt dosyası değiştirmek istediğim dosya.
Text2.txt işlem yapıldıktan sonra şekil olarak olmasını istediğim dosya.
 
Aşağıdaki şekilde dener misiniz ?
Kod:
Sub Makro1()
Application.DisplayAlerts = False
    yol = "C:\"
    Workbooks.OpenText Filename:= _
        yol & "Text.txt", Origin:=857, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
        , Space:=False, Other:=True, OtherChar:="""", FieldInfo:=Array(Array(1, _
        1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), TrailingMinusNumbers:=True
    Columns("A:A").Delete Shift:=xlToLeft
    son = [a65536].End(3).Row
    Range("b1:b" & son) = "metin1"
    Range("d1:d" & son) = "metin2"
    ChDir yol
    ActiveWorkbook.SaveAs Filename:=yol & "Text2.txt", FileFormat:=xlText, CreateBackup:=False
Application.DisplayAlerts = True
End Sub
 
Evet bu kod " işaretlerini sildi ve text2 dosyası olarak kayıt etti. Fakat verileri sheet üzerinden geçirmek yerine VBA üzerinden direk text dosyasına yazdırabilirmiyiz? Çünkü benim gerçekte dönüşümünü istediğim text dosyalarındaki verilerim 300.000 400.000 satır olabilir. Ayrıca ikinci oluşan text dosyasında aralarda TAB boşluğu yerine bir karakte boşluk bırakabilirmiyiz?
Uğraştırıyorum kusura bakmayın:yardim:
 
Verileriniz bu iki sütunla sabit olacak mı? Yani, 1234561 ve 50 gibi.
 
Tekrar Merhaba

Mesela

Sub Veriler ( )
Open "C:\Test3.TXT" For Output As #1
Print #1, ""Metin1"; " "; "Metin2"; " "; "Metin3"
Close
End Sub

kodu ile Test3.txt dosyası içerisine bu metinler sırası ile yazdırılıyor.

Merak ettiğim yine buna benzer bir yöntem ile istemiş olduğum işlem yapılabilirmi.
Yani bir txt dosyasındaki 1. satırda yer alan ilk rakam ile ikinci rakam arasına istemiş olduğum bir metni ekleyemezmiyim.
 
İki sütun için aşağıdaki proseduru uygulayın.

Kod:
Sub Repair()

a$ = ThisWorkbook.Path & "\text.txt"
b$ = ThisWorkbook.Path & "\sonuc.txt"

Open a For Input As #1
Open b For Output As #2

    While Not EOF(1)
        Input #1, d1, d2
        Print #2, d1; " metin1 "; d2; " metin2"
        DoEvents
    Wend

Close #1
Close #2

MsgBox "İşlem tamamlandı..", vbInformation
End Sub
 
Son düzenleme:
While Not EOF(1)
Input #1, d1, d2
Print #2, d1; " metin1 "; d2; " metin2"
DoEvents
Wend

Zeki Bey öğrenmek için soruyorum yukarıdaki kod hangi işlemi yapıyorda " işaretlerini siliyor. eğer d1 d2 den kasıt sayısal veriler ise kenarında " karakteri olmayan satırlar için boşluk bırakmakta mesela.

Kısacası sizi fazla yormadan bu kontrollerle ilgili döküman nereden bulabilirim. forum içerisinde açıklama yapan bir konu göremedim. Kitap olabilir internetteki txt kontrolünü açıklayan bir makale gibi...
 
Bu, temel dosyalama konusuna giriyor. Bununla ilgili makale yok sanırım. İlerleyen günlerde eklmeye çalışırım.

Kısaca, "Input" ile okurken sadece veriler alınıyor.
 
Teşekkür ederim dört gözle beklicem :)
 
Geri
Üst