Chuyển bảng mã trong Excel và Word
==================================================================
Đây là địa chỉ bản cập nhật mới nhất của công cụ chuyển bảng mã
http://www.giaiphapexcel.com/forum/attachment.php?attachmentid=39198&d=1261587877
==================================================================
Tặng các bạn một Addin nho nhỏ dùng để chuyển đổi bảng mã văn bản dùng cho Excel.
Mình viết lại dựa trên bản dùng cho Word đã viết từ 2003.
Cách cài đặt cho Excel thì giống như Add in thông thường.
Cách dùng:
1. Chọn mã nguồn, đích bằng cách nhấn nút Select Code (Chỉ cần chọn 1 lần giống như Unikey, khi cần chuyển mã khác thì mới phải chọn lại)
2. Chọn vùng cần đổi mã và nhấn Alt+C hoặc Convert trên thanh công cụ.
Tiện thể mình cũng gửi bản cho Word để các bạn tham khảo.
- Hi hi xin góp vui cùng anh em.
Tiện thể, mình còn vài thứ chưa làm được vì bận quá đó là:
* Tự động đoán mã - cái này đoán dựa trên font chữ và kiểu ký tự nhận dạng - thiết kế thuật toán này thì cũng khá phức tạp nhưng rất tiện dụng.
* Tự động chuyển phông chữ hoa, thường - nói chung là dựa vào tên phông chữ và dùng các thuật toán của Nguyên Bình là ổn.
* Tối ưu hơn về tốc độ - về điểm này thì tớ chưa nghĩ ra giải pháp.
* Tự động cài vào Excel Add-in khi mở - cái này thì mình không muốn làm vì sợ các bạn bảo là Virus. - Hihi - mình đã bổ sung thêm tính năng này roài. Nhưng các bạn nhớ là phải để chức năng chạy macro security ở mức medium nhé. Sau khi addin đã chạy, bạn phải kích hoạt nó bằng tay
(Mở một Workbook mới, chọn
Tools/Add-ins và nhấn đánh dấu tên Addin là Functions để có thể bắt đầu sử dụng.)
Nếu các bạn muốn thì cùng mình làm tiếp nhé.
Chúc các bạn vui vẻ.
==============================================
P/S: Thành thật xin lỗi các bạn, phiên bản trước convert toàn bộ các cell mà không xác định có công thức hay không. Tôi đã sửa lại lỗi này.
Các bạn có thể xóa addin đó đi và tự cài lại bằng phiên bản kèm theo này hoặc sửa đoạn
Trong thủ tục Sub ConvertRange()
TÌm đến đoạn
If Not IsEmpty(MyCell) Then
Sửa lại thành
If Not IsEmpty(MyCell) And Not MyCell.HasFormula Then
Và thế là xong.