Sekmeyle ayrılmış txt dosyada Excel'e aktarmadan kayıt değiştirmek

Katılım
16 Ağustos 2004
Mesajlar
137
Excel Vers. ve Dili
Office 2010 En 64 Bit
Merhaba,

kullandığımız stok programında otomatik olarak oluşturulan bir txt dosya var.

Bu dosyadaki ilk sütundaki veriye bakarak dosyanın diğer sütunlarındaki (Sütundan kastım, TAB ile ayrılmış alanlardır) verileri değiştirmem gerekiyor. Ancak bu txt dosyayı Excel'e atıp orada düzenledikten sonra yeniden TAB ayraçlı txt dosya olarak kaydettiğimde program bu dosyayı nedense tanımıyor.

Bu yüzden txt dosyayı muhtemelen
Open "\\bilgisayar\dosya\stok.txt" for ..... as1
Close #1


şeklinde açıp düzenlemem gerekiyor, ancak bunu nasıl yapacağımı bilemiyorum.

Yardımcı olursanız sevinirim.


Örnek:
-------------------------------------------
text dosya aşağıdaki şekilde oluşmuş (burada alanlar arasına boşluk koydum, aslında alanlar arasında TAB var). Kodun text dosyayı Excel sayfasına almadan dosya içindeki örneğin 10 olan birim fiyatları 25 yapması gerekiyor. Ancak çözüm klasik bir "Bul/Değiştir" fonksiyonu olmamalı çünkü "10" bilgisi "Miktar" alanında da geçiyor, o yüzden benim alan belirtebilmem gerekiyor.


Model ÜrünGrubu Birim Fiyat Miktar
ürün1 t-shirt 1.25 200
ürün2 pantolon 2.75 10
ürün3 ayakkabı 10 250
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Ben verileri Excel'e aldım (Data > Get External Data .... ) daha sonra Excel'de verileri değiştirdikten sonra TAB ayraçlı Text dosyası olarak kaydettim (bazı ikaz mesajları verdi ama sonuçta oldu...)
 
Katılım
16 Ağustos 2004
Mesajlar
137
Excel Vers. ve Dili
Office 2010 En 64 Bit
Merhaba,

Benim sorularıma da hep sen cevap yazıyorsun dostum (şikayetçi olduğumu asla söyleyemem, hatta içimden umarım raider online'dır diye geçirmiştim).

Dostum, bizim kullandığımız paket programın şöyle bir özelliği var, stok kartlarını programdan "text dosya olarak gönder" diyerek tüm stok kartlarını text dosya olarak atabiliyoruz, yine aynı programın farklı bir veritabanına da aynı modül vasıtasıyla "text dosyadan stok kartlarını al" diyerek diğer veritabanındaki tüm stok kartlarını mevcut veritabanına atabiliyoruz.

Ancak stok kartlarını taşırken daha önceden yapılmış sınıflandırmalarda birtakım değişiklikler yapmamız gerekiyor, bunun için de text dosyayı açıp içindeki tanımlamaları değiştirebiliyorum.

Ancak liste 45000 satır olduğu için manuel müdahale etmek pek mantıklı olmuyor.


İşte sorun da burada ortaya çıkıyor. Kod ile otomatik oluşturduğum text dosyası baktığımda programın oluşturduğu ile aynı olmasına rağmen program program hata veriyor.

Bu yüzden dosyadaki verileri kod ile sorgulayıp değişiklikleri doğrudan mevcut text dosya üzerinden yapmam gerekiyor.


-----------------------------------------------------------

Bu konuda şüphelendiğim bir nokta var, o da; text dosyaya girdiğim satırları ben;

Kod:
Open "\\Server2\2007\STOKSINIF.TXT" For Append As 1
     For a = ....................
     Print #1, a & vbTab & "T" & vbTab & "T-shirt" & vbTab & "P" & vbTab & "Poplin"
     Next a
Close #1
şeklinde giriyorum. Muhtemelen satır sonunda girilmesi gereken tuş (VbCrlf veya Enter veya aynen yukarıdaki gibi bir işlem) ile orijinal dosyadaki tuş veya komut farklı.

İşte bu yüzden benim orijinal dosyayı düzeltmem gerekiyor.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Benim sorularıma da hep sen cevap yazıyorsun dostum (şikayetçi olduğumu asla söyleyemem, hatta içimden umarım raider online'dır diye geçirmiştim).
Küçük bir hatırlatma Haluk dostumuz ve üstadımız Raider ismini uzun zamandır kullanmamaktadır.
 
Katılım
16 Ağustos 2004
Mesajlar
137
Excel Vers. ve Dili
Office 2010 En 64 Bit
Merhaba,

Aslında yukarıdaki mesajı yazarken rastlantı eseri çözümü buldum ancak yine de konu tamamlansın diye o anki durumumu yazdım.

En basit işlemi yaptım, yani Excel dosyasındaki veri bulunan satırların tamamını seçtim ve boş bir text dosyaya kopyalayıp kaydettim ve program aktarımı onayladı.

Ancak yine de yukarıdaki gibi seçenekler ile şimdi yazdığım çözüm arasındaki satır sonu olayındaki farkın ne olduğunu halen merak ediyorum. (Emin olmamakla birlikte farkın satır sonundan kaynaklandığını düşünüyorum).


İlgin için tekrar teşekkür ederim.
 
Katılım
16 Ağustos 2004
Mesajlar
137
Excel Vers. ve Dili
Office 2010 En 64 Bit
Küçük bir hatırlatma Haluk dostumuz ve üstadımız Raider ismini uzun zamandır kullanmamaktadır.

Dalmışım pardon, ancak kendisi için çok önemli olmadığını ümit ediyorum.

Yine de hatırlatma için teşekkür ederim.
 
Üst