Lưu file dạng text

Liên hệ QC

baongocdaihocchuto

Thành viên mới
Tham gia
7/10/19
Bài viết
38
Được thích
14
Chào anh/chị.
Em có 1 file excel bên dưới, nay muốn chuyển về dạng text. Ai đó có thể giúp em code cho việc này.
Cảm ơn.
 

File đính kèm

Bạn Save As là .txt là được rồi !
Mình có đọc FSO của anh quanghai69, có đoạn ghi File:
HTML:
   Dim fso As Object, MyFile  As Object
   Dim FileName As String, I As Long
   Set fso = CreateObject("Scripting.FileSystemObject")
   FileName = "D:\Test.txt"
   Set MyFile = fso.CreateTextFile(FileName, True, True)
   With MyFile
      For I = 1 To 10
         .WriteLine cells(i,1) & vbTab & cells(i,2)
      Next
      .Close
   End With
Nhưng code nay chỉ ghi được 2 cột, mình muốn ghi nhiều cột thì phải làm thế nào?
 
Upvote 0
Mình có đọc FSO của anh quanghai69, có đoạn ghi File:
HTML:
   Dim fso As Object, MyFile  As Object
   Dim FileName As String, I As Long
   Set fso = CreateObject("Scripting.FileSystemObject")
   FileName = "D:\Test.txt"
   Set MyFile = fso.CreateTextFile(FileName, True, True)
   With MyFile
      For I = 1 To 10
         .WriteLine cells(i,1) & vbTab & cells(i,2)
      Next
      .Close
   End With
Nhưng code nay chỉ ghi được 2 cột, mình muốn ghi nhiều cột thì phải làm thế nào?
code đó hiện có 1 biến i chạy đại diện cho dòng, giờ bạn thêm biến j chạy theo cột nữa là được
 
Upvote 0
Mình cũng đã thử, nhưng chưa được, bạn giúp nhé.
Bạn thử sửa thành code sau xem sao nhé:
PHP:
Sub Save2txt()
Dim fso As Object, MyFile  As Object
Dim FileName As String, i As Long
Set fso = CreateObject("Scripting.FileSystemObject")
FileName = ThisWorkbook.Path & "\Test.txt"
'FileName = "D:\Test.txt"
Set MyFile = fso.CreateTextFile(FileName, True, True)
With MyFile
   For i = 1 To 365
      .WriteLine Cells(i, 1) & vbTab & Cells(i, 2) & vbTab & Cells(i, 3) & vbTab & Cells(i, 4) & vbTab & Cells(i, 5) & vbTab & Cells(i, 6) & vbTab & Cells(i, 7) & vbTab & Cells(i, 8) & vbTab & Cells(i, 9)
   Next
   .Close
End With
End Sub
 
Upvote 0
Bạn thử sửa thành code sau xem sao nhé:
PHP:
Sub Save2txt()
Dim fso As Object, MyFile  As Object
Dim FileName As String, i As Long
Set fso = CreateObject("Scripting.FileSystemObject")
FileName = ThisWorkbook.Path & "\Test.txt"
'FileName = "D:\Test.txt"
Set MyFile = fso.CreateTextFile(FileName, True, True)
With MyFile
   For i = 1 To 365
      .WriteLine Cells(i, 1) & vbTab & Cells(i, 2) & vbTab & Cells(i, 3) & vbTab & Cells(i, 4) & vbTab & Cells(i, 5) & vbTab & Cells(i, 6) & vbTab & Cells(i, 7) & vbTab & Cells(i, 8) & vbTab & Cells(i, 9)
   Next
   .Close
End With
End Sub
Cảm ơn bác đã giúp đỡ, cách làm của bác mang tính chất chống "cháy" thôi chứ? Nếu em muốn ghi 1 file với số cột lớn thì e rằng không ổn?
Em nghĩ cần có 1 biến j chạy từ cột 1 đến cột n, nhưng thử vẫn chưa ghi được.
Ai có thể giúp em?
 
Upvote 0
Upvote 0
Bạn thử code này xem, nhưng mình nghĩ nó chưa hoàn thiện lắm !
Mã:
Sub GPE()
Dim fso As Object, MyFile  As Object
Dim FileName As String, I As Long
Dim LastCol As Long
Dim a As String
LastCol = Sheet1.Cells(2, Sheet1.Columns.Count).End(xlToLeft).Column
Set fso = CreateObject("Scripting.FileSystemObject")
FileName = "G:\Test.txt"
Set MyFile = fso.CreateTextFile(FileName, True, True)
With MyFile
    For I = 2 To 10
        For j = 1 To LastCol
            a = a & Cells(I, j).Value & vbTab
        Next j
        .Writeline a
        a = ""
    Next I
    .Close
End With
End Sub
Bài đã được tự động gộp:

Bạn lưu file dưới dạng file text là được mà.Record lại thao tác đó là được mà.
Giống như cách bác này nói, bạn Record marco lại thao tác Save As cũng là một cách hay. Nó sẽ Save hết file bạn ra .txt
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom