làm sao lấy được Encoding type cua file text trong Exel-VBA

Nơi trao đổi về VBA (Visual Basic for Application), lập trình cho ứng dụng Microsoft Office, AutoCAD...

Moderator: tungblt

Post Reply
User avatar
lipton150786
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 345
Joined: Thu 18/11/2010 10:00 pm
Has thanked: 5 times
Been thanked: 30 times

làm sao lấy được Encoding type cua file text trong Exel-VBA

Post by lipton150786 »

ai có kinh nghiệm về VBA xin chỉ giùm mình cách lấy Encoding type của file text.
(lấy được tất cả các encoding type cua bất kỳ file text nào)
(coding bằng VBA trên Exel)

[-O< [-O<
xin cam ơn nhiều!!!
Last edited by lipton150786 on Fri 22/04/2011 11:46 am, edited 1 time in total.
User avatar
truongphu
VIP
VIP
Posts: 4781
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 525 times

Re: làm sao lấy được Encoding type cua file text trong Exel-

Post by truongphu »

Function tôi viết sau phân biệt tốt Unicode hoặc không
- Đối với tiếng Nhật, hoặc unicode, hoặc ancii
- nhưng tiếng Việt, các encoding như utf-8 thì chịu, đành thuộc nhóm 1 byte ancii

  1. Function FileEncoding(ByVal FilePath As String) As String
  2.    Dim r As String ' by truongphu
  3.   With CreateObject("Scripting.FileSystemObject").OpenTextFile(FilePath, 1, , 0)
  4.     r = .readall
  5.    End With
  6.    If Left(r, 2) = "ÿþ" Then
  7.     FileEncoding = "Unicode"
  8.    Else
  9.     FileEncoding = "Không Unicode, có thê là Ancii"
  10.    End If
  11. End Function
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh
User avatar
lipton150786
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 345
Joined: Thu 18/11/2010 10:00 pm
Has thanked: 5 times
Been thanked: 30 times

Re: làm sao lấy được Encoding type cua file text trong Exel-

Post by lipton150786 »

cám ơn truong phu nha.Về cái encoding này tôi chưa làm qua bao giờ nên có thể nó là mù về nó.
Không biết truongphu có tài liệu nào hay hay về nó không có thể share không.

cho hỏi tí truongphu ơi các đối số của OpenTextFile(FilePath, 1, , 0) là gì?(filepath thì tôi biết rôi)



Tôi đã test lại rồi nó khôngthe63 lấy được encoding type của các file khác unicode.

khi tôi input vào file EUC và Shift_JIS thì bó tay
Post Reply

Return to “Visual Basic for Application (VBA)”