Kevin hỏi,
Tôi có một tập hợp dữ liệu được lưu trữ trong tệp văn bản được phân tách bằng tab. Một số thông tin cần giữ lại “phần đệm” - chẳng hạn như Mã Zip (chúng cần có độ dài 5 hoặc 9 ký tự). Khi tệp văn bản được mở trong excel, Trình hướng dẫn Nhập Văn bản sẽ tự động xuất hiện. Có một tùy chọn để chỉ định rằng cột chứa dữ liệu đó là Văn bản chứ không phải Chung. Chọn tùy chọn này hoạt động - nhưng nó yêu cầu tôi thực hiện việc mở theo cách thủ công. Tôi không thể tìm được cách trong VBA để thông tin là Văn bản thay vì Chung - và lưu 'phần đệm' của tôi.
Bật trình ghi macro và ghi lại quá trình nhập tệp văn bản của bạn. Đây là mã kết quả:
Workbooks.OpenText Filename:= “C:TestData.txt”, Origin:=437, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 2), Array(4, 1)), TrailingMinusNumbers:=True
Tham số FieldInfo kiểm soát cách mỗi trường được nhập. Trong trường hợp này, trình ghi macro lưu ý rằng bạn có 4 trường. Mục nhập Mảng (2, 1) cho biết đối với trường thứ 2, hãy sử dụng loại trường "Chung". Lưu ý rằng đối với trường 3, mục nhập là Mảng (3, 2). “2” là mã để Excel nhập trường này dưới dạng Văn bản.