Đầu ra vba Excel sử dụng vbUnicode

Đầ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

đầu ra 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

Popular posts from this blog

Excel 2016 - mở tất cả các tệp trong MỘT phiên bản

Điều tôi muốn làm trong Excel 2010 là tạo một nút tùy chỉnh và gắn nó vào thanh công cụ Truy nhập nhanh và chạy một macro cụ thể.

Mở tài liệu Excel và Word từ Outlook Lỗi - Không đủ bộ nhớ