baongocdaihocchuto
Thành viên mới
- Tham gia
- 7/10/19
- Bài viết
- 38
- Được thích
- 14
Bạn Save As là .txt là được rồi !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.
Mình có đọc FSO của anh quanghai69, có đoạn ghi File:Bạn Save As là .txt là được rồi !
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
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à đượcMình có đọc FSO của anh quanghai69, có đoạn ghi File:
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?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
Mình cũng đã thử, nhưng chưa được, bạn giúp nhé.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
Bạn thử sửa thành code sau xem sao nhé:Mình cũng đã thử, nhưng chưa được, bạn giúp nhé.
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?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
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
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 .txtBạn lưu file dưới dạng file text là được mà.Record lại thao tác đó là được mà.