Xuất ra file TXT, có 1 khoảng trắng giữa các cột

Liên hệ QC

SoiBien

Thành viên tiêu biểu
Tham gia
3/9/07
Bài viết
734
Được thích
609
Bạn mình có một chương trình chấm công bằng cách download dữ liệu từ máy chấm công thẻ từ. có một số nhu cầu chỉnh sửa file txt, sau khi đã import file txt vào excel, chỉnh sửa xong, xuất ra lại file txt, có một câu cần các bạn giúp đỡ, làm thế nào để khi xuất ra file txt, khoảng cách giữa các cột chắc chắn sẽ là 1 khoảng trắng?
bạn mình sử dụng Excel 2003.

Các bạn giúp đỡ vỡi.
 
Bạn mình có một chương trình chấm công bằng cách download dữ liệu từ máy chấm công thẻ từ. có một số nhu cầu chỉnh sửa file txt, sau khi đã import file txt vào excel, chỉnh sửa xong, xuất ra lại file txt, có một câu cần các bạn giúp đỡ, làm thế nào để khi xuất ra file txt, khoảng cách giữa các cột chắc chắn sẽ là 1 khoảng trắng?
bạn mình sử dụng Excel 2003.

Các bạn giúp đỡ vỡi.
Không hiểu ý "khoảng cách giữa các cột chắc chắn sẽ là 1 khoảng trắng" là thế nào?
Có phải dữ liệu của Excel như thế này:
|
A​
|
B​
|
C​
|
1​
|
a1​
|
b1​
|
c1​
|
2​
|a2|b2|c2|
3​
|a3|b3|c3|
4​
|a4|b4|c4|
5​
|a5|b5|c5|

thì xuất ra txt thế này:
a1 b1 c1
a2 b2 c2
c3 b3 c3
a4 b4 c4
a5 b5 c5
 
Bạn mình có một chương trình chấm công bằng cách download dữ liệu từ máy chấm công thẻ từ. có một số nhu cầu chỉnh sửa file txt, sau khi đã import file txt vào excel, chỉnh sửa xong, xuất ra lại file txt, có một câu cần các bạn giúp đỡ, làm thế nào để khi xuất ra file txt, khoảng cách giữa các cột chắc chắn sẽ là 1 khoảng trắng?
bạn mình sử dụng Excel 2003.

Các bạn giúp đỡ vỡi.

Tôi có cách này rất hay sử dụng cũng hiệu quả nếu dữ liệu không phải là tiếng Việt. Nếu sử dụng thường xuyên và muốn không thủ công cũng có thể VBA được (SoiBien dư sức làm). Tui chưa làm vì không hay dùng. Nhưng nếu làm chắc record rồi sửa lại code dần dần.

Xuất từ file txt sang excel :
Dùng Word mở file .txt, bôi đen vùng cần chuyển sang excel rồi chọn Table - Text to Table , sau đó copy sang Exel

Xuất file từ excel sang txt :

Làm ngc lại các bước trên, sau đó copy sang word, bôi đen bảng cần chuyển sang excel rồi chọn Table - Table to Text, lưu lại dưới dạng file .txt.
Nếu muốn cách một khoảng trắng bạn chỉ cần chọn trong Other, sau đó đánh space bar một cái là OK

E:\My Documents\My Pictures\untitled.JPG


Nếu bạn đã từng dùng SPSS, Eview sẽ gặp nhu cầu chuyển dữ liệu kiểu này.

Tôi thường dùng cách này để nhập các bảng biểu từ giấy fax, tài liệu không có sẵn file excel. Điều kiện : không phải là tiếng Việt (vì có dấu rất khó nhận dạng). Xác suất thành công khoảng 80-98%, tùy chất lượng scan.
 
Lần chỉnh sửa cuối:
Bạn mình có một chương trình chấm công bằng cách download dữ liệu từ máy chấm công thẻ từ. có một số nhu cầu chỉnh sửa file txt, sau khi đã import file txt vào excel, chỉnh sửa xong, xuất ra lại file txt, có một câu cần các bạn giúp đỡ, làm thế nào để khi xuất ra file txt, khoảng cách giữa các cột chắc chắn sẽ là 1 khoảng trắng?
bạn mình sử dụng Excel 2003.

Bản thân chức năng SAVE AS của excel đã cho phép ta lưu file với phần mở rộng là *.txt và ngăn cách các cột bằng 1 khoản trắng.

Anh xem thêm tại đây nhé!
http://www.giaiphapexcel.com/forum/showpost.php?p=95360&postcount=5
 
thì xuất ra txt thế này:
a1 b1 c1
a2 b2 c2
c3 b3 c3
a4 b4 c4
a5 b5 c5

Dạ đúng vậy đó thầy!
Nếu vậy thì em chạy sub NewTxt
Mã:
Sub NewTxt()
Dim MyPath As String, MyStr As String, MyFile As String
Dim r As Long, c As Long, rD As Long, rC As Long, cD As Long, cC As Long, f As Byte
On Error Resume Next
MyPath = ThisWorkbook.Path
MyFile = InputBox("Nhap duong dan, ten file Txt:" & Chr(13) & "Ví du: d:\THUMUC\NewTxt.txt", "TXT", MyPath & "\MyTxt.txt")
If MyFile = "" Then Exit Sub
rD = Selection.Row
rC = Selection.Rows.Count + rD - 1
cD = Selection.Column
cC = Selection.Columns.Count + rD - 1
Kill MyFile
f = FreeFile
Open MyFile For Output As #f
For r = rD To rC
  MyStr = ""
  For c = cD To cC
    MyStr = MyStr & Cells(r, c) & " "
  Next
  Print #f, Trim(MyStr)
Next
Close #f
End Sub

MyFile = InputBox("Nhap duong dan, ten file Txt:" & Chr(13) & "Ví du: d:\THUMUC\NewTxt.txt", "TXT", MyPath & "\MyTxt.txt")
sẽ lấy dường dẫn nơi chứa tập tin MyTxt.xls và tên file txt là MyTxt.txt. Tùy thực tế mà em chỉnh lại MyPath & "\MyTxt.txt".
Chú ý thư mục chứa *.txt phải được tạo trước.
 

File đính kèm

  • MyTxt.xls
    25 KB · Đọc: 77
Bản thân chức năng SAVE AS của excel đã cho phép ta lưu file với phần mở rộng là *.txt và ngăn cách các cột bằng 1 khoản trắng.

Anh xem thêm tại đây nhé!
http://www.giaiphapexcel.com/forum/showpost.php?p=95360&postcount=5

Bạn xem lại, hình như là nó xuất ra file txt với khoảng cách giữa các cột là 1 tab (không phải space)


@thầy PDL
file thầy làm đúng ý em rồi ạ!
 
Lần chỉnh sửa cuối:
Bạn xem lại, hình như là nó xuất ra file txt với khoảng cách giữa các cột là 1 tab (không phải space)


@thầy PDL
file thầy làm đúng ý em rồi ạ!

Thì thay cái Space(1) = vbTab thôi. Chuyện này đơn giản mà.

Mà đơn giản hơn, sao ko save file excel đó dưới dạng Text (Tab delimited) *.txt?

Các phần mềm import file text vào cũng dạng file này chứ ko phải phân cách nhau bởi space đâu. Đó cũng là 1 chuẩn rồi mà.

Nhiều khi cái gì cũng lập trình là ko tốt lắm đâu. Có khi làm đơn giản hơn: save ra dạng cvs (cách nhau bởi dấu "," rồi mở ra, replace dấu "," bởi cái gì cũng được. For row chạy, col chạy là động tác cuối cùng khi xử lý Grid vì đó là cách tệ nhất khi làm - nhất là với dữ liệu chấm công 1 ngày có thể lên tới vài chục ngàn dòng)
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom