Chuyển font sang unicode trên excel

Liên hệ QC

DotNhan

Thành viên mới
Tham gia
20/12/07
Bài viết
25
Được thích
219
BÀI VIẾT

XỬ LÝ FONT TIẾNG VIỆT TRÊN EXCEL (Rev.07-10.09)

* Tháng 9/2014:
- Chương trình bổ sung các chức năng quản lý file
- Tra cứu và mở nhanh các file trên giao diện excel

* Nội dung cũ:
Đây là một chương trình nhỏ viết bằng VBA (Visual Bacsic Application) trên Excel lấy font Unicode làm đối tượng để chuyển đổi qua lại với các mã font khác, việc chuyển đổi được thực hiện tự động, tốc độ chuyển đổi nhanh. Chương trình này có những ưu điểm so với chương trình khác như sau:

1. Tự động xác định mã font nguồn (VNI, TCVN3-ABC, VietWare-X) để chuyển font, không phải chọn Font nguồn. Đối với 1 file nhiều bộ mã font chữ thì người sử dụng không thể kiểm soát được, phải chọn từng vùng rất khó khăn, chương trình này đã giải quyết được.
2. Chức năng tự động xác định font chuyển qua Unicode xử lý cho các trường hợp nhiều bộ mã font trên 1 Cell, Sheet và File trên nguyên tắc đọc được tiếng Việt thì chuyển được.
3. Chuyển mã font Unicode sang các font khác (VNI, TCVN3-ABC, VietWare-X), có kiểm tra trước khi chuyển nhằm tránh sự nhầm lẫn làm hỏng thông tin đáng tiếc. Chương trình khác hạn chế chức năng chuyển từ Unicode sang font khác.
4. Phân biệt chữ Hoa, chữ thường để chuyển đổi phù hợp với định dạng ban đầu. Nếu font TCVN3-ABC chương trình khác phải thực hiện thêm một bước là chuyển chữ thường sang chữ Hoa (hay bị phát sinh lỗi khi chọn 1 vùng).
5. Có chức năng chuyển đổi chữ HOA / thường cho mã Unicode (khắc phục nhược điểm các hàm Excel)
6. Quá trình chuyển font không làm mất công thức, hàm trên Excel
7. Chuyển font cho các loại biểu đồ, đồ thị trên sheet hoặc trên file. Các phần mềm khác không có chức năng này.
8. Chuyển font cho một số loại đối tượng (Object) trên Excel có font (các phần mềm khác không có), như: Comment (Cells); Rectangle, Oval, Text Box, WordArt (Drawing), Button (Forms), … Nói chung, đối tượng nào trên Excel cho phép chọn font chữ thì chương trình có khả năng chuyển đổi font chữ.
9. Không làm thay đổi thuộc tính dữ liệu; Ví dụ dãy số: 001, 002, 003, … chương trình khác sẽ chuyển thành 1, 2, 3.
10. Chuyển tất cả các Sheet trong file, kể cả sheet ẩn, sheet macro 4, đối với các sheet có protect bằng password thì khi chạy chương trình sẽ hỏi password để nhập vào. Chương trình khác sẽ báo lỗi.
11. Khắc phục các lỗi của chương trình khác
12. Hỗ trợ các hàm, công cụ liên quan đến xử lý tiếng Việt
· Các hàm chuyển mã tiếng Việt
· Các hàm dịch Số sang Chữ, kể cả trường hợp có số lẻ thập phân
· Xử lý tên riêng người Việt Nam

Giới thiệu, Hướng dẫn sử dụng chi tiết và Chương trình, xem file kèm theo: TN-FONTVIET-R7.ZIP

Nâng cấp lên TN-FONTVIET-R8.ZIP

Đến tháng 9 năm 2014 có sửa lỗi và bổ sung thêm một số chức năng; chạy được trên các version của Excel

Đến tháng 4 năm 2016 sửa lại để chạy trên Excel 64 bit và bổ sung chức năng quản lý file trên máy tính.
(file TN.FONTVIET-1604.xlam)

---
By. Đỗ Thành Nhân
Email. dtnapp@gmail.com – Tel. 0913470250
 

File đính kèm

  • ChuyenFontUnicode.xls
    64.5 KB · Đọc: 3,001
  • ChuyenFontUnicode-R2.xls
    62 KB · Đọc: 1,184
  • ChuyenFontUnicode-R4.zip
    46.5 KB · Đọc: 1,475
  • ChuyenFontUnicode-R5.zip
    50.6 KB · Đọc: 1,615
  • TN-FONTVIET-R7.ZIP
    73.7 KB · Đọc: 2,165
  • TN-FONTVIET-R8.ZIP
    89.4 KB · Đọc: 4,132
  • TN.FONTVIET-1403.xla
    279 KB · Đọc: 733
  • TN.FONTVIET-1604.xlam
    132.4 KB · Đọc: 843
Lần chỉnh sửa cuối:
Sao không nâng cấp thành AddIns cho tiện.
 
Tôi không Upload file *.xla lên diễn đàn được
 
CHUYỂN FONT SANG UNICODE TRÊN EXCEL











Là người thường xuyên sử dụng MS Excel, rất khó chịu khi trên file có nhiều mã/font khác nhau. Đây là một chương trình nhỏ viết bằng VBA tự động chuyển sang font Unicode trên Excel, Chương trình này có những ưu điểm so với chương trình khác như sau:
  1. Tự động xác định mã nguồn (VNI, TCVN3-ABC) để chuyển font, không phải chọn Font nguồn. Đối với 1 file nhiều bộ mã font chữ thì người sử dụng không thể kiểm soát được, phải chọn từng vùng rất khó khăn, chương trình này đã giải quyết được.
  2. Phân biệt chữ Hoa, chữ thường để chuyển đổi phù hợp với định dạng ban đầu. Nếu font TCVN3-ABC chương trình khác phải thực hiện thêm một bước là chuyển chữ thường sang chữ Hoa.
  3. Không làm thay đổi thuộc tính dữ liệu; Ví dụ dãy số: 001, 002, 003, … chương trình khác sẽ chuyển thành 1, 2, 3.
  4. Chuyển tất cả các Sheet trong file, kể cả sheet ẩn, đối với các sheet có protect bằng password thì khi chạy chương trình sẽ hỏi password để nhập vào. Chương trình khác sẽ báo lỗi.
  5. .v.v..
dotnhan
Cám ơn Bạn đã gởi tiện ích rất hay lên diễn đàn!
Đã thử chuyển với Font TCVN3, chạy rất tốt.
Mong bạn bổ sung thêm để tiện ích này chuyển được Font VietWare X, được không?

Tôi không Upload file *.xla lên diễn đàn được
Đúng là Bác học chỉ làm được việc lớn!
 
Tôi đang gặp khó khăn về việc chuyển phông của một Dự án thiết bị, đã dùng Unikey nhưng lại bị lỗi định dạng và hỏng cột. May quá dùng tiện ích của ban DotNhan toi đã nhanh chóng hoàn thành công việc. Xin chân thành cảm ơn!
Hình như trong Excel 2007 không phải vào Tool / Macro / Security thì phải vì tôi đang loay hoay chưa tìm thấy, bí quá dùng ngay Ctrl+q thế là được luôn.
 
Tiện ích của bạn DotNhan thật hữu ich, đặc biệt khả năng tự động nhận dạng mã tiếng Việt.
Nhưng nếu trong sheet có nhiều loại mã một lúc thì cũng khó nhỉ
 
1. File nhỏ, chỉ hơn 60K nên không nén. Vả lại có người không biết xả nén
2. Đã chuyển được cho 1 file nhiều loại font (hiện nay là VNI và TCVN3)
3. "Mong bạn bổ sung thêm để tiện ích này chuyển được Font VietWare X, được không?".
Vui lòng gửi 1 file có mã VietWare X và Font (để đọc được file) tôi sẽ cập nhật tiếp
Email: dotnhan@gmail.com
 
Lần chỉnh sửa cuối:
Tôi đang gặp khó khăn về việc chuyển phông của một Dự án thiết bị, đã dùng Unikey nhưng lại bị lỗi định dạng và hỏng cột. May quá dùng tiện ích của ban DotNhan toi đã nhanh chóng hoàn thành công việc. Xin chân thành cảm ơn!
Hình như trong Excel 2007 không phải vào Tool / Macro / Security thì phải vì tôi đang loay hoay chưa tìm thấy, bí quá dùng ngay Ctrl+q thế là được luôn.
Trong excel 2k7 bạn click vào icon cửa sổ ở góc trái-trên, chọn excel options, trong tab popular đánh dấu vào Show Developer Tab in the Ribbon rồi OK. Sau đó chọn tab Developer ở ngoài cùng (cạnh tab View), Macro Security ở mục Code.
 
CHUYỂN FONT SANG UNICODE TRÊN EXCEL


dotnhan

Cám ơn Bạn, chương trình tiện ích hay và chạy khá nhanh. Nhưng có trường hợp này tôi thấy chưa chuyển được là trong 1 cell dùng 2 font khác nhau thì không chuyển được, ví dụ câu: Ủy viên hội đồng mà chữ Ủ dùng font .VntimeH, còn lại dùng .Vntime. Nếu tiện ích chuyển được font trong trường hợp trên thì hay quá.

Thank Bạn nhiều!
 
Cám ơn Bạn, chương trình tiện ích hay và chạy khá nhanh. Nhưng có trường hợp này tôi thấy chưa chuyển được là trong 1 cell dùng 2 font khác nhau thì không chuyển được, ví dụ câu: Ủy viên hội đồng mà chữ Ủ dùng font .VntimeH, còn lại dùng .Vntime. Nếu tiện ích chuyển được font trong trường hợp trên thì hay quá.

Thank Bạn nhiều!

Chương trình xem xét font chung cho từng ô, nếu kiểm tra font từng ký tự thì sẽ chạy rất chậm. Tôi đang nghiên cứu có cách nào chạy nhanh hơn thì sẽ phát triển tiếp - kể cả trường hợp nhiều mã font khác nhau trên từng ô.
 
Tiện ích của bạn DotNhan thật hữu ich, đặc biệt khả năng tự động nhận dạng mã tiếng Việt.
Nhưng nếu trong sheet có nhiều loại mã một lúc thì cũng khó nhỉ

Chương trình đã thực hiện chuyển font đối với 1 sheet nhiều loại mã (ở đây là VNI và TCVN3-ABC)
 
Cám ơn Bạn, chương trình tiện ích hay và chạy khá nhanh. Nhưng có trường hợp này tôi thấy chưa chuyển được là trong 1 cell dùng 2 font khác nhau thì không chuyển được, ví dụ câu: Ủy viên hội đồng mà chữ Ủ dùng font .VntimeH, còn lại dùng .Vntime. Nếu tiện ích chuyển được font trong trường hợp trên thì hay quá.

Thank Bạn nhiều!

Theo mình những trường hợp này ít nên gõ lại thủ công cũng được. Để vậy cho chương tình chạy nhanh hơn. Nhưng nếu gặp những ô này thỉ chương trình tự động tô màu vào ô để ta dễ phát hiện.
 
Lần chỉnh sửa cuối:
Theo mình những trường hợp này ít nên gõ lại thủ công cũng được. Để vậy cho chương tình chạy nhanh hơn. Nhưng nếu gặp những ô này thỉ chương trình tự động tô màu vào ô để ta dễ phát hiện.

Nếu chương trình đã tự động nhận biết để tô màu thì tốt nhất sẽ tự động lập thư viện địa chỉ những ô đó rồi chạy chương trình phân tích ký tự các ô có trong thư viện để chuyển font thì cũng không ảnh hưởng đến tốc độ của chương trình khi thư viện rỗng. Chương trình khi đó hoàn thiện hơn càng hay.
 
Chương trình này hình như vẫn chưa chính xác
Ví dụ:
- Tôi gõ vào cell A1 chữ Cộng hòa bằng Font Arial, bảng mã Unicode
- Tôi gõ vào cell A2 chữ Cộng hòa bằng Font .VnArial, bảng mã TCVN3
- Tôi gõ vào cell A3 chữ Cộng hòa bằng Font VNI-Time, bảng mã VNI-Windows
Xong, tôi chuyển toàn bộ 3 cell sang font Tahoma rồi dùng chương trình của bạn thì nó chẳng tự nhận dạng gì cả ---> Có lẽ chương trình chưa có khả năng nhận dạng mã thật sự, cùng lắm chỉ biết cell đang dùng font gì mà thôi
 
Bản mới "ChuyenFontUnicode-R4" đã chuyển được font VietWareX sang Uni - Cảm ơn Bạn DotNhan

Chương trình này hình như vẫn chưa chính xác
Ví dụ:
- Tôi gõ vào cell A1 chữ Cộng hòa bằng Font Arial, bảng mã Unicode
- Tôi gõ vào cell A2 chữ Cộng hòa bằng Font .VnArial, bảng mã TCVN3
- Tôi gõ vào cell A3 chữ Cộng hòa bằng Font VNI-Time, bảng mã VNI-Windows
Xong, tôi chuyển toàn bộ 3 cell sang font Tahoma rồi dùng chương trình của bạn thì nó chẳng tự nhận dạng gì cả ---> Có lẽ chương trình chưa có khả năng nhận dạng mã thật sự, cùng lắm chỉ biết cell đang dùng font gì mà thôi

Đúng rồi, đây là nhược điểm chính của chương trình.
Khi người nào đó đã định dạng font khác với font gốc thì chương trình sẽ bó tay. Tôi nghĩ để nhận dạng được font gốc của từng cell là quá khó!
 
Bản mới "ChuyenFontUnicode-R4" đã chuyển được font VietWareX sang Uni - Cảm ơn Bạn DotNhan



Đúng rồi, đây là nhược điểm chính của chương trình.
Khi người nào đó đã định dạng font khác với font gốc thì chương trình sẽ bó tay. Tôi nghĩ để nhận dạng được font gốc của từng cell là quá khó!
Do tác giả nói vầy:
Tự động xác định mã font nguồn (VNI, TCVN3-ABC, VietWare-X) để chuyển font, không phải chọn Font nguồn. Đối với 1 file nhiều bộ mã font chữ thì người sử dụng không thể kiểm soát được, phải chọn từng vùng rất khó khăn, chương trình này đã giải quyết được.
Tôi cho rằng đây là phát biểu không chính xác!
Còn việc xác định 1 cell đang dùng Font gì (dựa vào tên Font) thì quá dễ, chẳng gì đáng nói cả
 
Web KT
Back
Top Bottom