xlPrinter Hakkında

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
10 Ocak 2007
Mesajlar
7
Excel Vers. ve Dili
ExcelXp TR
xlTextPrinter ile activeworkbookSaveAs ile text olarak kayıt yapınca belli sayıda karakteri txt ye aktarıyor. Yazılar yarım kalıyor. excelde belli sayıda kolonları kayıt ediyor.(kayıt yaptığı text dosyasında satır uzunluğu olarak 240 karakterden sonrasını alta atıyor.15 kolonu kolon genişlikleri ayarlanmış şekilde kayıt ederken 11.kolonda 240 karakter olmuşsa 11 kolondan sonraki kolonlar en alta kayıt ediliyor.)
istediğim kolon genişlikleri ayarlanmış bir exceli text dosyasına ayarları korunarak (240 karakter sınırlaması olmadan) text dosyasına nasıl kayıt edebilirim.
bu konuda yardımcı olabilir misiniz. Çok Teşekkür Ederim..

ÖRNEK DOSYA EKTEDİR.

BU DOSYANIN HİÇBİR FORMATI BOZULMADAN TEXT DOSYASINA KAYIT YAPMAK MÜMKÜN MÜ?
 
Son düzenleme:

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
Söz konusu Excel dosyanızın bir örneğini eklerseniz, yardımcı olacak birisi konuyla ilgilenebilir.


.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,349
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Daha pratik çözümü olabilir, ilk aklıma gelen kullanıcı tanımlı değişken oldu.
"Type" değişkenlerindeki 10,10.. şeklinde giden uzunlukları isteğinize ayarladığınızda text dosyasındaki tüm sütunlar ip çekilmiş gibi aynı hizada olur.

Kod:
Type Fields
    a As String * 10
    b As String * 10
    c As String * 10
    d As String * 10
    e As String * 10
    f As String * 10
    g As String * 10
    h As String * 10
    i As String * 10
    j As String * 10
    k As String * 255
End Type

Sub P_Print()
Dim Fld As Fields

Open ThisWorkbook.Path & "\Test.txt" For Output As #1
    
    For X = 1 To [a65000].End(3).Row
        
        Fld.a = Cells(X, 1)
        Fld.b = Cells(X, 2)
        Fld.c = Cells(X, 3)
        Fld.d = Cells(X, 4)
        Fld.e = Cells(X, 5)
        Fld.f = Cells(X, 6)
        Fld.g = Cells(X, 7)
        Fld.h = Cells(X, 8)
        Fld.i = Cells(X, 9)
        Fld.j = Cells(X, 10)
        Fld.k = Cells(X, 11)
        
        Print #1, Fld.a; Fld.b; Fld.c; Fld.d; Fld.e; Fld.f; Fld.g; Fld.h; Fld.i; Fld.j; Fld.k
    Next

Close #1

End Sub
 
Katılım
10 Ocak 2007
Mesajlar
7
Excel Vers. ve Dili
ExcelXp TR
Çok Teşekkürler Anemos Yardımların için .

Yolladığın Kodları Değiştirip istediğimden güzel bir hale getirdim.

tekrar teşekkür ederim ..
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst