Đầu ra vba Excel sử dụng vbUnicode
Con trai tôi đã viết một VBA tạo một chuỗi văn bản rồi xuất ra tệp Unicode. Dòng đầu ra của con trai tôi là...
Bản in #2, StrConv (NewFile, vbUnicode)
Nó tạo ra tệp mới bình thường, ngoại trừ tệp phải bắt đầu bằng FF FE. Tệp mới bắt đầu bằng FF 00 FE 00.
Tôi phải làm sao để khắc phục lỗi này? Cảm ơn.
Trả lời:
Xem các câu trả lời trong câu hỏi stackoverflow này về tệp vba và unicode
Trả lời:
Cảm ơn bạn đã trả lời. Có vẻ như stackoverflow đang nói về việc thay đổi tiêu đề tệp, trong khi tôi đang cố gắng để Excel ghi hai byte đầu tiên trong tệp unicode là FF EE chứ không phải FF 00 FE 00.
Hai byte đầu tiên của một tệp unicode cho biết tệp đó thuộc loại nào... và FF FE là tệp Unicode UTF-16 Little Endian. Tôi không phải là chuyên gia... chỉ đang cố gắng làm cho mã của con trai tôi hoạt động bình thường.
Sau khi file được ghi bằng Excel, tôi phải tải nó vào Notepad và xóa 2 ký tự đầu tiên hiển thị ở đầu file, rồi lưu lại. Thao tác này sẽ xóa FF 00 FE 00 và thay thế bằng FF FE.
Trả lời:
Theo tôi, việc sử dụng Print gây ra vấn đề. Thay vào đó, bạn nên sử dụng phương pháp FileSystemObject để tạo/mở tệp và ghi ra văn bản unicode.
Comments
Post a Comment