Xoá bỏ dấu "" bao chuỗi trong File Text?

  • Thread starter Thread starter sealand
  • Ngày gửi Ngày gửi
Liên hệ QC

sealand

Thành viên gạo cội
Tham gia
16/5/08
Bài viết
4,883
Được thích
7,688
Giới tính
Nam
Nghề nghiệp
Kế Toán
Mình dùng code sau để chuyển nội dung sheet1 sang file Temp.txt. Nhưng các dòng bị bao bởi "". Làm sao để không có dấu này trong kết quả.
Mong các bạn chỉ dẫn với.

Mã:
Sub TransToText()
Dim MyPath, MyFile, Rec As String
Dim EndRow As Long
MyPath = ThisWorkbook.Path
MyFile = MyPath & "\temp.txt"
EndRow = Sheet1.[a56536].End(xlUp).Row
Open MyFile For Output As #1
With Sheet1
For i = 1 To EndRow
Write #1, .Cells(i, 1) & vbTab & .Cells(i, 2) & vbTab & .Cells(i, 3)
Next
End With
Close 1
End Sub
 

File đính kèm

Anh dùng For .... Next nếu dữ liệu nhiều thì chậm lắm.
Anh xem code sau thử xem
[highlight=vb]Sub ExcelToTxt()
Dim MyPath As String
MyPath = ThisWorkbook.Path & "\"
MyFileName = InputBox("Nhap ten file can luu:", "Export from excel to text")
ActiveSheet.Copy
ActiveWorkbook.SaveAs _
Filename:=MyPath & MyFileName & ".txt", _
FileFormat:=xlUnicodeText, CreateBackup:=False
ActiveWorkbook.Close True
End Sub
[/highlight]Anh xem thêm bài tại đây nha:
http://www.giaiphapexcel.com/forum/showthread.php?t=13402
 
Lần chỉnh sửa cuối:
Upvote 0
Mình dùng code sau để chuyển nội dung sheet1 sang file Temp.txt. Nhưng các dòng bị bao bởi "". Làm sao để không có dấu này trong kết quả.
Mong các bạn chỉ dẫn với.

Mã:
Sub TransToText()
Dim MyPath, MyFile, Rec As String
Dim EndRow As Long
MyPath = ThisWorkbook.Path
MyFile = MyPath & "\temp.txt"
EndRow = Sheet1.[a56536].End(xlUp).Row
Open MyFile For Output As #1
With Sheet1
For i = 1 To EndRow
[COLOR=red][B]Write[/B][/COLOR] #1, .Cells(i, 1) & vbTab & .Cells(i, 2) & vbTab & .Cells(i, 3)
Next
End With
Close 1
End Sub
Anh thử thay Write sang Print là OK
 
Upvote 0
To Ca da_fi: Đúng kết quả làm như Ca da-fi miễn chê rồi, nhưng kẹt một lỗi là nó thường lưu ActiveSheet thôi, mình chưa tìm ra cách chỉ định sheet, vùng cụ thể cần chép. Hơn nữa, khi thực hiện lệnh xong nó cứ đòi thoát hẳn thì mới lưu được file text.

To Dom: Lệnh Print không được Dom à, lệnh này nó ghi lên file chuỗi mã máy lại phải dùng lệnh tương ứng mới đọc được.
 
Upvote 0
To Ca da_fi: Đúng kết quả làm như Ca da-fi miễn chê rồi, nhưng kẹt một lỗi là nó thường lưu ActiveSheet thôi, mình chưa tìm ra cách chỉ định sheet, vùng cụ thể cần chép. Hơn nữa, khi thực hiện lệnh xong nó cứ đòi thoát hẳn thì mới lưu được file text.
Đường link bên bài dưới em gửi cho anh có đầy đủ yêu cầu anh nêu ra mà!
Anh đọc thêm bài số #10 tại topic này nữa nha!
http://www.giaiphapexcel.com/forum/showpost.php?p=96360&postcount=10


Thuật toán đơn giản hơn nhiều so với dùng For .... Next, như sau:
1. Copy vùng cần xuất ra file Text
2. Paste vào 1 file excel mới hoàn toàn
3. Lưu file excel mới này dưới dạng *.Txt
Xong.
 
Lần chỉnh sửa cuối:
Upvote 0
To Ca da_fi: Đúng kết quả làm như Ca da-fi miễn chê rồi, nhưng kẹt một lỗi là nó thường lưu ActiveSheet thôi, mình chưa tìm ra cách chỉ định sheet, vùng cụ thể cần chép. Hơn nữa, khi thực hiện lệnh xong nó cứ đòi thoát hẳn thì mới lưu được file text.

Để chỉ định Sheet cần lưu thì dùng lệnh [Object].Select đó. Ví dụ: Sheet1.Select để chỉ định mở Sheet1 là ActiveSheet.
Còn chỉ định luôn vùng cần lưu thì kết hợp lệnh tạo Sheet mới và copy dữ liệu cần thiết qua sheet mới kia rồi tiến hành Save phần Sheet mới đó. Cuối cùng chỉ cần xóa sheet mới là xong.
À lộn, cái vụ thoát hẳn này là sao ta? Sao máy em ko có hiện tượng này nhỉ?
Code sẽ như vầy:
Mã:
Sub ExcelToTxt()
Dim MyPath As String
MyPath = ThisWorkbook.Path & "\"
MyFileName = InputBox("Nhap ten file can luu:", "Export from excel to text")
[COLOR=blue]ThisWorkbook.Worksheets.Add[/COLOR]
[COLOR=blue][A1:C5] = Sheet1.[A2:C6].Value[/COLOR]
ActiveSheet.Copy
ActiveWorkbook.SaveAs _
Filename:=MyPath & MyFileName & ".txt", _
FileFormat:=xlUnicodeText, CreateBackup:=False
ActiveWorkbook.Close [COLOR=red][/COLOR]True
[COLOR=blue]Application.DisplayAlerts = False[/COLOR]
[COLOR=blue]ActiveWindow.SelectedSheets.Delete[/COLOR]
End Sub
Thân.
 
Lần chỉnh sửa cuối:
Upvote 0
Từ chiều tới giờ mình mới lên mạng được, nói chung về kết quả thì như mình đã nói : Quá tốt kể cả code của Po. (Rất vui bạn mới tái xuất đã giúp mình). Nói chung dùng code của 2 bạn đã giải quyết được yêu cầu của mình.
Nhưng có lẽ tính mình vậy, mình thấy chúng ta vẫn chưa hiểu rõ cơ chế lưu dưới các dạng khác nhau của save as bằng lệnh VB mà mình mới lợi dụng khéo léo chức năng save as của Excel . Mình cứ thắc mắc mãi về mấy cái từ khóa:
-Tab delimited.
-Comma delimited.
-Space delimited....
Nó có liên quan trực tiếp tới kết quả xác định cột của file lưu.
chúng ta tìm ra cơ chế này thì mới thực sự chủ động trong việc trao đổi giữa Excel và File text.
Cám ơn các bạn giúp đỡ và mong các bạn có thông tin gì thêm chia sẻ cho mình với
 
Upvote 0
Web KT

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

Back
Top Bottom