Có phần mềm nào mà chuyển đổi font cho toàn bộ các file excel trong Folder (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

nguyenmanhnam

Thành viên tiêu biểu
Tham gia
24/7/10
Bài viết
434
Được thích
266
Em thấy trên diễn đàn GPE, có rất nhiều giải pháp, các hàm mà mọi người đã dày công xây dựng để chuyển đổi Font; gần đây ngành em để thống nhất quy định toàn bộ Font gửi trong nội bộ dùng Unicode. Các file em làm trước đây đa phần em sử dụng Vn.time (TCVN3), nay em muốn chuyển toàn bộ thư viện trước đây em làm sang Unicode để tận dụng (khoảng 200MB). Em thắc mắc là không biết có phần mềm nào chuyển toàn bộ cùng một lúc Font tư TCVN3 sang Unicode cho toàn bộ các file excel của 1 Folder không? (trong quá trình chuyển có thể không cần mở file ra), nhưng không mất đi công thức link vốn có của nó. (Vì em biết truớc đây có một số phần mềm sau khi chuyển liên kết công thức lại bị biến thành Text). Xin được giúp đỡ.
 
Không có nhưng bạn có thể tạo ra bằng macro
1. Phải đảm bảo điều kiện là mọi file đều cùng dùng 1 font (nhất quán dữ liệu).
2. Không có ô bị dồn.

Cần chú ý không chuyển 2 lần trên 1 file.

Mình cảm thấy có thể làm được, nhưng còn non gan, nên chưa dám. Ý tưởng là thể. Còn vật liệu có thể là
- Có bài viết đọc danh sách các tên file có trong 1 thư mục nào đó của ổ đĩa vào cột A của Sheet (mới đọc gần đây). Dùng cái này để lấy các tên file vô.
- lần lượt lấy các tên file trên ô A1, A2..., mởi nó ra, dùng FOR duyệt qua mọi Sheet, trên mỗi Sheets, chọn cả Sheet và dùng SENDKEYS để chuyển mã. Làm xong các sheet thì save làm lặp lại trên ô A2 tiếp

Có thể một số định dạng bị mất., ví dụ chỉ số trên, dưới
Xin lỗi vì không được hoàn thiện lắm.
 
Lần chỉnh sửa cuối:
Em thấy trên diễn đàn GPE, có rất nhiều giải pháp, các hàm mà mọi người đã dày công xây dựng để chuyển đổi Font; gần đây ngành em để thống nhất quy định toàn bộ Font gửi trong nội bộ dùng Unicode. Các file em làm trước đây đa phần em sử dụng Vn.time (TCVN3), nay em muốn chuyển toàn bộ thư viện trước đây em làm sang Unicode để tận dụng (khoảng 200MB). Em thắc mắc là không biết có phần mềm nào chuyển toàn bộ cùng một lúc Font tư TCVN3 sang Unicode cho toàn bộ các file excel của 1 Folder không? (trong quá trình chuyển có thể không cần mở file ra), nhưng không mất đi công thức link vốn có của nó. (Vì em biết truớc đây có một số phần mềm sau khi chuyển liên kết công thức lại bị biến thành Text). Xin được giúp đỡ.[/QUOTEmìnvaayj

vậy dùng add in cho nhanh bạn à.. mình có add in chuyển font.. nì. chắc chắn nó sẽ giúp được bạn..
bạn tải cái này về
- Vào tool => add in+> tìm cái bạn vừa tài thêm vào danh sách nhấp ok là xong bạn đã có một bộ chuyển mã xuất hiện trong Phần Tiếng Việt rùi đó..
-tiếp đó thì chỉ việc bôi đen chuyển mã thui/-*+/
 

File đính kèm

Em thấy trên diễn đàn GPE, có rất nhiều giải pháp, các hàm mà mọi người đã dày công xây dựng để chuyển đổi Font; gần đây ngành em để thống nhất quy định toàn bộ Font gửi trong nội bộ dùng Unicode. Các file em làm trước đây đa phần em sử dụng Vn.time (TCVN3), nay em muốn chuyển toàn bộ thư viện trước đây em làm sang Unicode để tận dụng (khoảng 200MB). Em thắc mắc là không biết có phần mềm nào chuyển toàn bộ cùng một lúc Font tư TCVN3 sang Unicode cho toàn bộ các file excel của 1 Folder không? (trong quá trình chuyển có thể không cần mở file ra), nhưng không mất đi công thức link vốn có của nó. (Vì em biết truớc đây có một số phần mềm sau khi chuyển liên kết công thức lại bị biến thành Text). Xin được giúp đỡ.[/QUOTEmìnvaayj

vậy dùng add in cho nhanh bạn à.. mình có add in chuyển font.. nì. chắc chắn nó sẽ giúp được bạn..
bạn tải cái này về
- Vào tool => add in+> tìm cái bạn vừa tài thêm vào danh sách nhấp ok là xong bạn đã có một bộ chuyển mã xuất hiện trong Phần Tiếng Việt rùi đó..
-tiếp đó thì chỉ việc bôi đen chuyển mã thui/-*+/


hi mình tải nhầm.. sorry cái nì mấy đúng
 

File đính kèm

mình làm được rồi thanks ban springclaim90 nhiều nha. mấy bữa nay đau đầu vì cái font này rồi
 
Em thấy trên diễn đàn GPE, có rất nhiều giải pháp, các hàm mà mọi người đã dày công xây dựng để chuyển đổi Font; gần đây ngành em để thống nhất quy định toàn bộ Font gửi trong nội bộ dùng Unicode. Các file em làm trước đây đa phần em sử dụng Vn.time (TCVN3), nay em muốn chuyển toàn bộ thư viện trước đây em làm sang Unicode để tận dụng (khoảng 200MB). Em thắc mắc là không biết có phần mềm nào chuyển toàn bộ cùng một lúc Font tư TCVN3 sang Unicode cho toàn bộ các file excel của 1 Folder không? (trong quá trình chuyển có thể không cần mở file ra), nhưng không mất đi công thức link vốn có của nó. (Vì em biết truớc đây có một số phần mềm sau khi chuyển liên kết công thức lại bị biến thành Text). Xin được giúp đỡ.

Hôm nay mới đọc bài này. Nếu bạn chưa tìm được phần mềm nào ưng ý thì dùng thử File này xem (mới làm chưa test vì trong máy tôi không có file TCVN3).
Cách sử dụng: Bạn tạo một thư mục mới để thử. Copy file này và những file bạn muốn chuyển Font TCVN3 -> Unicode thả vào. Mở file này và nhấn nút. Nếu có nhiều file dung lượng lớn thì pha cốc Cafe đợi... có gì trục trặc báo lại cho tôi biết.
Chúc thành công !
 

File đính kèm

Lần chỉnh sửa cuối:
Em thử nhưng không được

Hôm nay mới đọc bài này. Nếu bạn chưa tìm được phần mềm nào ưng ý thì dùng thử File này xem (mới làm chưa test vì trong máy tôi không có file TCVN3).
Cách sử dụng: Bạn tạo một thư mục mới để thử. Copy file này và những file bạn muốn chuyển Font TCVN3 -> Unicode thả vào. Mở file này và nhấn nút. Nếu có nhiều file dung lượng lớn thì pha cốc Cafe đợi... có gì trục trặc báo lại cho tôi biết.
Chúc thành công !

Sao em chạy nó cứ đứng im không chạy được ah.
Em gửi fie lên bác thử giúp hộ em nhé.
 

File đính kèm

Hướng dẫn cài đặt và sử dụng tiện ích UCONVERT

1249374828_image004.jpg

Phần mềm dùng để chuyển đổi bảng mã của font chữ dùng chuẩn hóa font sử dụng trong công ty trên Word, Excel,... Chuyển đổi báo cáo cho phần mềm Kế toán Effect.
Cài đặt phầm mềm đối với máy tính cài bộ Office XP hoặc Office 2003
Tải xuống và Copy bộ cài Uconvert 1.3 tại đây vào ổ đĩa D của máy tính.
Hướng dẫn
hoặc:[url]http://www.mediafire.com/?hkyznkogzvz

[/URL]
 
1249374828_image004.jpg

Phần mềm dùng để chuyển đổi bảng mã của font chữ dùng chuẩn hóa font sử dụng trong công ty trên Word, Excel,... Chuyển đổi báo cáo cho phần mềm Kế toán Effect.
Cài đặt phầm mềm đối với máy tính cài bộ Office XP hoặc Office 2003
Tải xuống và Copy bộ cài Uconvert 1.3 tại đây vào ổ đĩa D của máy tính.
Hướng dẫn
hoặc:
http://www.mediafire.com/?hkyznkogzvz

Phần mềm này nó chỉ chuyển được file Word thôi bác ah, em đã thử rồi file excel không chuyển được bác ah.
 
Sao em chạy nó cứ đứng im không chạy được ah.
Em gửi fie lên bác thử giúp hộ em nhé.
Mình mới test thử thì thấy file của bạn có 2 font chữ .VnTime, .VnTimeH. Nếu bạn tạo file mới copy qua rồi chọn lại font .VnTime hết lưu lại thì không có vấn đề gì. Mà bạn dùng Add-in trến TVExcel01 của thấy PhamDuyLong đi chuyển với tốc độ khá nhanh đó. File này mình dùng add in chuyển
 

File đính kèm

Mình mới test thử thì thấy file của bạn có 2 font chữ .VnTime, .VnTimeH. Nếu bạn tạo file mới copy qua rồi chọn lại font .VnTime hết lưu lại thì không có vấn đề gì. Mà bạn dùng Add-in trến TVExcel01 của thấy PhamDuyLong đi chuyển với tốc độ khá nhanh đó. File này mình dùng add in chuyển

File của thày em đã dùng rồi, em vẫn để trong máy. Nhưng cái em cần là chuyển tất cả các file (nhiều file một lúc) trong 1 Folder chỉ bằng một động tác thôi.
 
Sao em chạy nó cứ đứng im không chạy được ah.
Em gửi fie lên bác thử giúp hộ em nhé.

Tôi dùng XP2003 khi Conver file của bạn sang file xls thì OK mà.
File của tôi (file mở) thì đương nhiên nó đứng im nhưng tất cả các file khác (file "không mở") của bạn có trong cùng thư mục thì đã chuyển sang Unicode... theo đúng yêu cầu của bạn. Bạn thử kiểm tra lại xem có đúng như vậy không nha, chờ hồi âm của bạn ?

Lưu ý: phải làm đúng như tôi hướng dẫn ở bài trên (File của tôi và file của bạn phải trong cùng thư mục con)
 
Lần chỉnh sửa cuối:
Hôm nay mới đọc bài này. Nếu bạn chưa tìm được phần mềm nào ưng ý thì dùng thử File này xem (mới làm chưa test vì trong máy tôi không có file TCVN3).
Cách sử dụng: Bạn tạo một thư mục mới để thử. Copy file này và những file bạn muốn chuyển Font TCVN3 -> Unicode thả vào. Mở file này và nhấn nút. Nếu có nhiều file dung lượng lớn thì pha cốc Cafe đợi... có gì trục trặc báo lại cho tôi biết.
Chúc thành công !

Cái của bác rất tiện. Tuy nhiên, em khi ứng dụng em thấy:

1. Trường hợp nếu Font nguồn là Vn.TimeH thì khi chuyển chữ nó lại tự động chuyển sang chữ thường, nhưng mục đích của em là muốn nó chuyển sang CHỮ HOA, cái này em thấy tiện ích của chị Phan Ngọc Lan tại địa chỉ: http://www.giaiphapexcel.com/forum/...el-tổng-hợp-đây-bản-quyền-Free-và-mã-nguồn-mở! làm rât tốt,

2. Font chữ sau khi chuyển đổi chuyển sang tahoma (em muốn chuyển sang Times New Roman).

Nếu có thể sửa được xin bác giúp cho, vì em đang tập tọe chưa biết nhiều về những vấn đề này. Cảm ơn bác rất nhiều.
 
Giúp em cách chuyển từ Vn.TimeH sang Times New Roman vẫn giữ được CHỮ HOA

Từ Code của bác TrungChinh để sửa chuyển từ Vn.Time sang Times New Roman
PHP:
Const CodUni = "225  224  7843 227  7841 259  7855 7857 7859 7861 7863 226  7845 7847 7849 7851 7853 233  232  7867 7869 7865 234  7871 7873 7875 7877 7879 237  236  7881 297  7883 243  242  7887 245  7885 244  7889 7891 7893 7895 7897 417  7899 7901 7903 7905 7907 250  249  7911 361  7909 432  7913 7915 7917 7919 7921 253  7923 7927 7929 7925 273  193  193  192  192  7842 7842 195  195  7840 7840 258  258  7854 7854 7856 7856 7858 7858 7860 7860 7862 7862 194  194  7844 7844 7846 7846 7848 7848 7850 7850 7852 7852 201  201  200  200  7866 7866 7868 7868 7864 7864 202  202  7870 7870 7872 7872 7874 7874 7876 7876 7878 7878 205  204  7880 296  7882 211  211  210  210  7886 7886 213  213  7884 7884 212  212  7888 7888 7890 7890 7892 7892 7894 7894 7896 7896 416  7898 7898 7900 7900 7902 7902 7904 7904 7906 7906 218  218  217  217  7910 7910 360  360  7908 7908 431  7912 7912 7914 7914 7916 7916 7918 7918 7920 7920 221  221  7922 7922 7926 7926 7928 7928 7924 272  "
Const StrVn3 = "¸µ¶·¹¨¾»¼½Æ©ÊÇÈÉËÐÌÎÏѪÕÒÓÔÖÝרÜÞãßáâä«èåæçé¬íêëìîóïñòô­øõö÷ùýúûüþ®¸¸µµ¶¶··¹¹¡¡¾¾»»¼¼½½ÆÆ¢¢ÊÊÇÇÈÈÉÉËËÐÐÌÌÎÎÏÏÑÑ££ÕÕÒÒÓÓÔÔÖÖÝרÜÞããßßááââä䤤èèååææççéé¥ííêêëëììîîóóïïññòòôô¦øøõõöö÷÷ùùýýúúûûüüþ§"
Function Vn3Uni(chuoi As String) As String
    On Error Resume Next
    For i = 1 To Len(chuoi)
        kytu = Mid(chuoi, i, 1)
        vitri = InStr(1, StrVn3, kytu, 0)
        If vitri > 0 Then
            chuoimoi = chuoimoi & ChrW(Mid(CodUni, vitri * 5 - 4, 5))
        Else
            chuoimoi = chuoimoi & kytu
        End If
    Next
    Vn3Uni = chuoimoi
End Function
Sub Unicode()
    On Error Resume Next
    Application.ScreenUpdating = False
    Dim myCell As Range, myFont As String
    ActiveSheet.[a1].SpecialCells(2, 2).Select
    For Each myCell In Selection
        If myCell.Value <> "" Then
            myFont = myCell.Font.Name
            If Left(myFont, 3) = ".Vn" Then
                myCell = Vn3Uni(myCell.Value)
            End If
        End If
    Next
    Cells.Font.Name = "tahoma"
End Sub
em đã mày mò và sửa đoạn Cells.Font.Name = "tahoma" thành Cells.Font.Name =Times New Roman và đã được.

Nhưng em thắc mắc là để chuyển từ Font Vn.TimeH sang Times New Roman mà vẫn giữ được chữ HOA mà không phải chữ thường thì phải làm sao ah?
 
em đã mày mò và sửa đoạn Cells.Font.Name = "tahoma" thành Cells.Font.Name =Times New Roman và đã được.

Nhưng em thắc mắc là để chuyển từ Font Vn.TimeH sang Times New Roman mà vẫn giữ được chữ HOA mà không phải chữ thường thì phải làm sao ah?
Nếu là font .Vn....H thì sẽ có dạng ".Vn*H", đúng không? (có chữ H ở cuối)
Vậy thì giải thuật sẽ là: Nếu font name có dạng ".Vn*H" thì UCase(Cell)
PHP:
If myCell.Value <> "" Then
  myFont = myCell.Font.Name
  If Left(myFont, 3) = ".Vn" Then
    If myFont Like ".Vn*H" Then
      myCell = UCase(Vn3Uni(myCell.Value))
    Else
      myCell = Vn3Uni(myCell.Value)
    End If
  End If
End If
Tôi chưa thử nhưng nghĩ như vậy đấy ---> Bạn test xem thế nào nhé
 
File gần như hoàn thiện rồi, chỉ còn Font chữ nằm ở trong công thức là không chuyển

Nếu là font .Vn....H thì sẽ có dạng ".Vn*H", đúng không? (có chữ H ở cuối)
Vậy thì giải thuật sẽ là: Nếu font name có dạng ".Vn*H" thì UCase(Cell)
PHP:
If myCell.Value <> "" Then
  myFont = myCell.Font.Name
  If Left(myFont, 3) = ".Vn" Then
    If myFont Like ".Vn*H" Then
      myCell = UCase(Vn3Uni(myCell.Value))
    Else
      myCell = Vn3Uni(myCell.Value)
    End If
  End If
End If
Tôi chưa thử nhưng nghĩ như vậy đấy ---> Bạn test xem thế nào nhé

Em chạy về cơ bản là chuẩn thày ah, cụ thể Code sau khi em sửa như sau:

1. Module_Open_Close

PHP:
Sub Open_Close_File()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
    MyPath = ThisWorkbook.Path
    Set MyFoldres = CreateObject("Scripting.FileSystemObject").GetFolder(MyPath).Files
    For Each MyFile In MyFoldres
        Workbooks.Open MyFile
        Call Unicode
        With ActiveWorkbook
            .Save
            .Close
        End With
    Next
End Sub

2. Module_Unicode: sau khi cập nhật phần sửa của thày:

PHP:
Const CodUni = "225  224  7843 227  7841 259  7855 7857 7859 7861 7863 226  7845 7847 7849 7851 7853 233  232  7867 7869 7865 234  7871 7873 7875 7877 7879 237  236  7881 297  7883 243  242  7887 245  7885 244  7889 7891 7893 7895 7897 417  7899 7901 7903 7905 7907 250  249  7911 361  7909 432  7913 7915 7917 7919 7921 253  7923 7927 7929 7925 273  193  193  192  192  7842 7842 195  195  7840 7840 258  258  7854 7854 7856 7856 7858 7858 7860 7860 7862 7862 194  194  7844 7844 7846 7846 7848 7848 7850 7850 7852 7852 201  201  200  200  7866 7866 7868 7868 7864 7864 202  202  7870 7870 7872 7872 7874 7874 7876 7876 7878 7878 205  204  7880 296  7882 211  211  210  210  7886 7886 213  213  7884 7884 212  212  7888 7888 7890 7890 7892 7892 7894 7894 7896 7896 416  7898 7898 7900 7900 7902 7902 7904 7904 7906 7906 218  218  217  217  7910 7910 360  360  7908 7908 431  7912 7912 7914 7914 7916 7916 7918 7918 7920 7920 221  221  7922 7922 7926 7926 7928 7928 7924 272  "
Const StrVn3 = "¸µ¶·¹¨¾»¼½Æ©ÊÇÈÉËÐÌÎÏѪÕÒÓÔÖÝרÜÞãßáâä«èåæçé¬íêëìîóïñòô­øõö÷ùýúûüþ®¸¸µµ¶¶··¹¹¡¡¾¾»»¼¼½½ÆÆ¢¢ÊÊÇÇÈÈÉÉËËÐÐÌÌÎÎÏÏÑÑ££ÕÕÒÒÓÓÔÔÖÖÝרÜÞããßßááââä䤤èèååææççéé¥ííêêëëììîîóóïïññòòôô¦øøõõöö÷÷ùùýýúúûûüüþ§"
Function Vn3Uni(chuoi As String) As String
    On Error Resume Next
    For i = 1 To Len(chuoi)
        kytu = Mid(chuoi, i, 1)
        vitri = InStr(1, StrVn3, kytu, 0)
        If vitri > 0 Then
            chuoimoi = chuoimoi & ChrW(Mid(CodUni, vitri * 5 - 4, 5))
        Else
            chuoimoi = chuoimoi & kytu
        End If
    Next
    Vn3Uni = chuoimoi
End Function
Sub Unicode()
    On Error Resume Next
    Application.ScreenUpdating = False
    Dim myCell As Range, myFont As String
    ActiveSheet.[a1].SpecialCells(2, 2).Select
    For Each myCell In Selection
        If myCell.Value <> "" Then
  myFont = myCell.Font.Name
  If Left(myFont, 3) = ".Vn" Then
    If myFont Like ".Vn*H" Then
      myCell = UCase(Vn3Uni(myCell.Value))
    Else
      myCell = Vn3Uni(myCell.Value)
    End If
  End If
End If
    Next
    Cells.Font.Name = "Times New Roman"
End Sub

Tuy nhiên, nó còn chưa hoàn thiện khi font chữ nằm trong công thức là chưa được:
Ví dụ: Công thức tại ô C277 của em viết dưới font TCVN là:

IF(C272=C276;"Qu¸ chuÈn"; "H·y xem l¹i nghiÖp vô b¹n ®· nhËp")
Sau khi chạy nó không chuyển Font phần em bôi đậm màu đỏ ở trên. Vậy mình sẽ phải hoàn thiện thế nào ah.
 
Lần chỉnh sửa cuối:
Em chạy về cơ bản là chuẩn thày ah,
Tuy nhiên, nó còn chưa hoàn thiện khi font chữ nằm trong công thức là chưa được:
Ví dụ: Công thức tại ô C277 của em viết dưới font TCVN là:

IF(C272=C276;"Qu¸ chuÈn"; "H·y xem l¹i nghiÖp vô b¹n ®· nhËp")
Sau khi chạy nó không chuyển Font phần em bôi đậm màu đỏ ở trên. Vậy mình sẽ phải hoàn thiện thế nào ah.
Chổ nào là myCell.Value hãy sửa thành myCell.Formula xem thế nào nhé
Ngoài ra, đoạn ActiveSheet.[a1].SpecialCells(2, 2).Select là chỉ chọn cell không chứa công thức, bạn nên sửa thành ActiveSheet.UsedRange.Select
 
Lần chỉnh sửa cuối:
Chổ nào là myCell.Value hãy sửa thành myCell.Formula xem thế nào nhé
Ngoài ra, đoạn ActiveSheet.[a1].SpecialCells(2, 2).Select là chỉ chọn cell không chứa công thức, bạn nên sửa thành ActiveSheet.UsedRange.Select

Rất chuẩn rồi thày ah, tối em sẽ Test thêm một số ví dụ nữa để kiểm tra độ an toàn của nó 1 lần nữa. Code sau khi em sửa là:
PHP:
Const CodUni = "225  224  7843 227  7841 259  7855 7857 7859 7861 7863 226  7845 7847 7849 7851 7853 233  232  7867 7869 7865 234  7871 7873 7875 7877 7879 237  236  7881 297  7883 243  242  7887 245  7885 244  7889 7891 7893 7895 7897 417  7899 7901 7903 7905 7907 250  249  7911 361  7909 432  7913 7915 7917 7919 7921 253  7923 7927 7929 7925 273  193  193  192  192  7842 7842 195  195  7840 7840 258  258  7854 7854 7856 7856 7858 7858 7860 7860 7862 7862 194  194  7844 7844 7846 7846 7848 7848 7850 7850 7852 7852 201  201  200  200  7866 7866 7868 7868 7864 7864 202  202  7870 7870 7872 7872 7874 7874 7876 7876 7878 7878 205  204  7880 296  7882 211  211  210  210  7886 7886 213  213  7884 7884 212  212  7888 7888 7890 7890 7892 7892 7894 7894 7896 7896 416  7898 7898 7900 7900 7902 7902 7904 7904 7906 7906 218  218  217  217  7910 7910 360  360  7908 7908 431  7912 7912 7914 7914 7916 7916 7918 7918 7920 7920 221  221  7922 7922 7926 7926 7928 7928 7924 272  "
Const StrVn3 = "¸µ¶·¹¨¾»¼½Æ©ÊÇÈÉËÐÌÎÏѪÕÒÓÔÖÝרÜÞãßáâä«èåæçé¬íêëìîóïñòô­øõö÷ùýúûüþ®¸¸µµ¶¶··¹¹¡¡¾¾»»¼¼½½ÆÆ¢¢ÊÊÇÇÈÈÉÉËËÐÐÌÌÎÎÏÏÑÑ££ÕÕÒÒÓÓÔÔÖÖÝרÜÞããßßááââä䤤èèååææççéé¥ííêêëëììîîóóïïññòòôô¦øøõõöö÷÷ùùýýúúûûüüþ§"
Function Vn3Uni(chuoi As String) As String
    On Error Resume Next
    For i = 1 To Len(chuoi)
        kytu = Mid(chuoi, i, 1)
        vitri = InStr(1, StrVn3, kytu, 0)
        If vitri > 0 Then
            chuoimoi = chuoimoi & ChrW(Mid(CodUni, vitri * 5 - 4, 5))
        Else
            chuoimoi = chuoimoi & kytu
        End If
    Next
    Vn3Uni = chuoimoi
End Function
Sub Unicode()
    On Error Resume Next
    Application.ScreenUpdating = False
    Dim myCell As Range, myFont As String
    ActiveSheet.UsedRange.Select
    For Each myCell In Selection
        If myCell.Formula <> "" Then
  myFont = myCell.Font.Name
  If Left(myFont, 3) = ".Vn" Then
    If myFont Like ".Vn*H" Then
      myCell = UCase(Vn3Uni(myCell.Formula))
    Else
      myCell = Vn3Uni(myCell.Formula)
    End If
  End If
End If
    Next
    Cells.Font.Name = "Times New Roman"
End Sub

Em xin được hỏi ra khỏi chủ đề một chút, sao file em thử nghiệm em đặt tên nó là "Test thu" thì nó không chuyển là sao hả thày?
 

File đính kèm

Lần chỉnh sửa cuối:
Em muốn hỏi khi đặt tên file là Test thu phải chăng cùng tên với từ khoá gì đó

File của bạn bị hư rồi nên không kiểm tra được
Xem lại nhé

Đúng là file em gửi kèm vừa rồi giải nén có bị lỗi, em đã gửi lại file khác rồi thày ah. Tuy nhiên, vấn đề mà em muốn đề cập là file em muốn chuyển đổi (cho nằm cùng thư mục với file TCVN3_Unicode cơ ah) em đặt nó tên là Test thu thì nó không chuyển đổi được, nhưng nếu đổi tên cho nó là được ngay.

Em xin gửi kèm file đính kèm minh hoạ.
 

File đính kèm

Đúng là file em gửi kèm vừa rồi giải nén có bị lỗi, em đã gửi lại file khác rồi thày ah. Tuy nhiên, vấn đề mà em muốn đề cập là file em muốn chuyển đổi (cho nằm cùng thư mục với file TCVN3_Unicode cơ ah) em đặt nó tên là Test thu thì nó không chuyển đổi được, nhưng nếu đổi tên cho nó là được ngay.

Em xin gửi kèm file đính kèm minh hoạ.
Code này còn rất nhiều chổ cần bẫy lổi:
- Vòng lập duyệt qua các file chắc chắn sẽ lấy luôn file hiện hành ---> Vậy cần phải IF để tránh
- Trong thư mục, nếu có 1 file nào đó không phải Excel, làm sao mà Workbooks.Open được đây?
Tôi sửa lại thế này:
PHP:
Sub Open_Close_File()
  Dim myPath As String, myFile As Object
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  On Error Resume Next
  myPath = ThisWorkbook.Path
  With CreateObject("Scripting.FileSystemObject")
    For Each myFile In .GetFolder(myPath).Files
      If myFile.Path <> ThisWorkbook.FullName And myFile.Type Like "Microsoft Excel*" Then
        With Workbooks.Open(myFile.Path)
          Call Unicode: .Close (True)
        End With
      End If
    Next
  End With
  MsgBox "Thành công"
  Application.ScreenUpdating = True
  Application.DisplayAlerts = True
End Sub
Bạn kiểm tra lại xem thế nào nhé
--------------
Ngoài ra xin góp ý chút: Đã muốn "dấn thân" vào con đường lập trình thì điều đầu tiên bạn nên học là: KHAI BÁO BIẾN CHO ĐẦY ĐỦ, không được viết theo kiểu tùy tiện!
 
Lần chỉnh sửa cuối:
Code này còn rất nhiều chổ cần bẫy lổi:
- Vòng lập duyệt qua các file chắc chắn sẽ lấy luôn file hiện hành ---> Vậy cần phải IF để tránh
- Trong thư mục, nếu có 1 file nào đó không phải Excel, làm sao mà Workbooks.Open được đây?
Tôi sửa lại thế này:
PHP:
Sub Open_Close_File()
  Dim myPath As String, myFile As Object
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  On Error Resume Next
  myPath = ThisWorkbook.Path
  With CreateObject("Scripting.FileSystemObject")
    For Each myFile In .GetFolder(myPath).Files
      If myFile.Path <> ThisWorkbook.FullName And myFile.Type Like "Microsoft Excel*" Then
        With Workbooks.Open(myFile.Path)
          Call Unicode: .Close (True)
        End With
      End If
    Next
  End With
  MsgBox "Thành công"
  Application.ScreenUpdating = True
  Application.DisplayAlerts = True
End Sub
Bạn kiểm tra lại xem thế nào nhé
--------------
Ngoài ra xin góp ý chút: Đã muốn "dấn thân" vào con đường lập trình thì điều đầu tiên bạn nên học là: KHAI BÁO BIẾN CHO ĐẦY ĐỦ, không được viết theo kiểu tùy tiện!

Bây giờ em vẫn chưa biết gì về lập trình cả, ngoại trừ việc biết ghi Macro, do nhu cầu cần thiết nên em lang thang đi tìm trên mạng từ sáng để về ứng dụng, nếu thày có thời gian xin thày và mọi người giúp em hoàn chỉnh file này Code này với ah.

Cảm ơn thày rất nhiều, em sẽ chú ý vấn đề này trong thời gian tới khi em nghiên cứu về VBA.
 
nếu thày có thời gian xin thày và mọi người giúp em hoàn chỉnh file này Code này với ah.
.
Làm hết 1 lần hoàn thiện luôn, bạn sẽ chẳng biết đường đâu mà lần (khi có nhu cầu chỉnh sửa)
Giờ bạn cứ test thử đi, cảm thấy sai chổ nào chúng ta lại bàn tiếp thôi (như vậy bạn sẽ nhớ lâu hơn)
 
Code này còn rất nhiều chổ cần bẫy lổi:
- Vòng lập duyệt qua các file chắc chắn sẽ lấy luôn file hiện hành ---> Vậy cần phải IF để tránh
- Trong thư mục, nếu có 1 file nào đó không phải Excel, làm sao mà Workbooks.Open được đây?
Tôi sửa lại thế này:
PHP:
Sub Open_Close_File()
  Dim myPath As String, myFile As Object
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  On Error Resume Next
  myPath = ThisWorkbook.Path
  With CreateObject("Scripting.FileSystemObject")
    For Each myFile In .GetFolder(myPath).Files
      If myFile.Path <> ThisWorkbook.FullName And myFile.Type Like "Microsoft Excel*" Then
        With Workbooks.Open(myFile.Path)
          Call Unicode: .Close (True)
        End With
      End If
    Next
  End With
  MsgBox "Thành công"
  Application.ScreenUpdating = True
  Application.DisplayAlerts = True
End Sub
Bạn kiểm tra lại xem thế nào nhé
--------------
Ngoài ra xin góp ý chút: Đã muốn "dấn thân" vào con đường lập trình thì điều đầu tiên bạn nên học là: KHAI BÁO BIẾN CHO ĐẦY ĐỦ, không được viết theo kiểu tùy tiện!

Thật không uổng công em tìm cả buổi tối về phần mềm chuyển mã font, em không biết nói gì hơn, em cảm ơn thày rất nhiều. Chức năng này thực sự rất cần thiết với mọi người, trong quá trình sử dụng, rất mong thày giúp em hoàn thiện chức năng này.
 

File đính kèm

Thưa thày Ndu, em thử nghiệm đối với các file cùng trong thư mục thì nó chỉ chuyển Sheet hiện hành đang mở. Mục đích của em là chuyển mã (font) cho tất cả các Sheet trong tất cả các file đó thì mình phải làm thế nào ah. Kính mong thày giúp cho.
 
Lần chỉnh sửa cuối:
Thưa thày Ndu, em thử nghiệm đối với các file cùng trong thư mục thì nó chỉ chuyển Sheet hiện hành đang mở. Mục đích của em là chuyển mã (font) cho tất cả các Sheet trong tất cả các file đó thì mình phải làm thế nào ah. Kính mong thày giúp cho.

Bạn cũng phải đưa lên đây 1 vài file dùng font TCVN để tôi test chứ
Viết code từ đời nào rồi, ai mà nhớ (với lại máy tôi cũng chẳng có file nào dùng font cùi bắp này cả)
 
Bạn cũng phải đưa lên đây 1 vài file dùng font TCVN để tôi test chứ
Viết code từ đời nào rồi, ai mà nhớ (với lại máy tôi cũng chẳng có file nào dùng font cùi bắp này cả)

Em xin gửi file (font TCVN để test) , rất mong thày giúp cho.
 

File đính kèm

Em xin gửi file (font TCVN để test) , rất mong thày giúp cho.

Đã test xong!
Code sửa lại:
Mã:
Sub TCVN3_To_Unicode(ByVal Range As Range)
  On Error Resume Next
  Dim rCel As Range
  Dim sFontName As String, sFormula As String
  For Each rCel In Range
    sFontName = rCel.Font.Name
    sFormula = rCel.Formula
    If Len(sFormula) Then
      If Left(sFontName, 3) = ".Vn" Then
        If sFontName Like ".Vn*H" Then
          rCel = UCase(Vn3Uni(sFormula))
        Else
          rCel = Vn3Uni(sFormula)
        End If
      End If
    End If
  Next
  Range.Font.Name = "Times New Roman"
End Sub
Mã:
Sub CharSetConvert()
  Dim fle As Object
  Dim vFolder, wks As Worksheet
  On Error Resume Next
  vFolder = CreateObject("Shell.Application").BrowseForFolder(0, "", 1).Self.Path
  On Error GoTo 0
  If TypeName(vFolder) = "String" Then
    vFolder = CStr(vFolder)
    With CreateObject("Scripting.FileSystemObject")
      Application.ScreenUpdating = False
      For Each fle In .GetFolder(vFolder).Files
        If UCase(fle.Path) <> UCase(ThisWorkbook.FullName) Then
          If fle.Type Like "Microsoft Excel*" Then
            With Workbooks.Open(fle.Path)
              For Each wks In .Worksheets
                TCVN3_To_Unicode wks.UsedRange
              Next
              .Close True
            End With
          End If
        End If
      Next
    End With
  End If
  MsgBox "Thành công"
  Application.ScreenUpdating = True
End Sub
Bỏ hết code cũ, chỉ chừa lại Function Vn3Uni
Xem file và test thử nhé
-------------------
Tôi nghĩ code trong Function Vn3Uni còn có thể cải tiến để tăng tốc được nữa đấy (có thể dùng Replace chẳng hạn)
 

File đính kèm

Đã test xong!
Code sửa lại:
Mã:
Sub TCVN3_To_Unicode(ByVal Range As Range)
  On Error Resume Next
  Dim rCel As Range
  Dim sFontName As String, sFormula As String
  For Each rCel In Range
    sFontName = rCel.Font.Name
    sFormula = rCel.Formula
    If Len(sFormula) Then
      If Left(sFontName, 3) = ".Vn" Then
        If sFontName Like ".Vn*H" Then
          rCel = UCase(Vn3Uni(sFormula))
        Else
          rCel = Vn3Uni(sFormula)
        End If
      End If
    End If
  Next
  Range.Font.Name = "Times New Roman"
End Sub
Mã:
Sub CharSetConvert()
  Dim fle As Object
  Dim vFolder, wks As Worksheet
  On Error Resume Next
  vFolder = CreateObject("Shell.Application").BrowseForFolder(0, "", 1).Self.Path
  On Error GoTo 0
  If TypeName(vFolder) = "String" Then
    vFolder = CStr(vFolder)
    With CreateObject("Scripting.FileSystemObject")
      Application.ScreenUpdating = False
      For Each fle In .GetFolder(vFolder).Files
        If UCase(fle.Path) <> UCase(ThisWorkbook.FullName) Then
          If fle.Type Like "Microsoft Excel*" Then
            With Workbooks.Open(fle.Path)
              For Each wks In .Worksheets
                TCVN3_To_Unicode wks.UsedRange
              Next
              .Close True
            End With
          End If
        End If
      Next
    End With
  End If
  MsgBox "Thành công"
  Application.ScreenUpdating = True
End Sub
Bỏ hết code cũ, chỉ chừa lại Function Vn3Uni
Xem file và test thử nhé
-------------------
Tôi nghĩ code trong Function Vn3Uni còn có thể cải tiến để tăng tốc được nữa đấy (có thể dùng Replace chẳng hạn)

Em Test thử, tìm đúng tên Folder cần Test, nhưng kết quả nó vẫn là font .VnTime như cũ thày ah.
 
Các bạn khác vui lòng test giúp nhé
(vì tôi test không có cái vụ "như cũ" giống bạn đã nói)

Không hiểu sao em mở file của thày bằng Excel2003(Portable) hoặc Excel2010 thì được, nhưng riêng Excel2007 thì kết quả vẫn thế ah.

Mong các anh, chị có thời gian Test lại dùm em nhé.

----
(Phải chăng chương trình Excel2007 của em có vấn đề?)
 
Lần chỉnh sửa cuối:
Không hiểu sao em mở file của thày bằng Excel2003(Portable) hoặc Excel2010 thì được, nhưng riêng Excel2007 thì kết quả vẫn thế ah.

Mong các anh, chị có thời gian Test lại dùm em nhé.

Ủa! Code convert này liên quan gì đến vụ đuôi file nhỉ?
Nếu bạn chạy không thành công với đuôi xlsx thì nguyên nhân có thể là:
- Máy bạn đang cài 2 office
- Bạn thiết lập mặc định mở file XLS bằng Excel 2003
Chỉ có thể là vậy!
----------------
Tôi test trên máy tôi (dùng Office 2010), đuôi file nào cũng chơi tuốt
----------------
Nói thêm: Người ta có thể dùng Office 2003 hoặc 2010 hoặc cài cả 2 cùng lúc (như tôi đang xài) chứ chẳng ai lại đi xài cả 3 như bạn (Office 2007 vừa thừa lại vừa cùi bắp, xài làm gì không biết)
 
Lần chỉnh sửa cuối:
Ủa! Code convert này liên quan gì đến vụ đuôi file nhỉ?
Nếu bạn chạy không thành công với đuôi xlsx thì nguyên nhân có thể là:
- Máy bạn đang cài 2 office
- Bạn thiết lập mặc định mở file XLS bằng Excel 2003
Chỉ có thể là vậy!

Hình như cái Office2007 của em có vấn đề hay sao ấy. Nhưng file lúc sáng (chưa sửa Code) thì nó chạy vấn bình thường, chỉ có cái là không chuyển cho các sheet thôi ah.
--

Em thắc mắc là hình như Icon biểu tượng file của thày nó có vẻ màu hơi khác so với excel2003 thì phải (tựa như biểu tượng của excel2002 ấy)? hihi cái này em không hiểu lắm nên em mới hỏi vậy ah.
 
Lần chỉnh sửa cuối:
--

Em thắc mắc là hình như Icon biểu tượng file của thày nó có vẻ màu hơi khác so với excel2003 thì phải (tựa như biểu tượng của excel2002 ấy)? hihi cái này em không hiểu lắm nên em mới hỏi vậy ah.

File đó là file của bạn, tôi sửa code thôi mà
 
Ủa! Code convert này liên quan gì đến vụ đuôi file nhỉ?
Nếu bạn chạy không thành công với đuôi xlsx thì nguyên nhân có thể là:
- Máy bạn đang cài 2 office
- Bạn thiết lập mặc định mở file XLS bằng Excel 2003
Chỉ có thể là vậy!
----------------
Tôi test trên máy tôi (dùng Office 2010), đuôi file nào cũng chơi tuốt
----------------
Nói thêm: Người ta có thể dùng Office 2003 hoặc 2010 hoặc cài cả 2 cùng lúc (như tôi đang xài) chứ chẳng ai lại đi xài cả 3 như bạn (Office 2007 vừa thừa lại vừa cùi bắp, xài làm gì không biết)

Máy cơ quan em chỉ cài Office2007 thôi (cái 2003 là Portable thày ah), còn cái 2010 là em Test trên máy cá nhân của em. Quan trọng là nhờ có thày giúp từ nay em có công cụ rất hữu ích để chuyển font mà chất lượng rất tốt. Em cảm ơn thày rất nhiều.
-----
Vì là máy cơ quan, chứ máy em thì em đã bỏ cái 2007 đi rồi (bản thân em thấy cái này chạy Code hay có vấn đề lắm).
 
-----
Vì là máy cơ quan, chứ máy em thì em đã bỏ cái 2007 đi rồi (bản thân em thấy cái này chạy Code hay có vấn đề lắm).

Muốn biết nó có vấn đề gì, mở code ra, xóa hết mấy dòng On Error... rồi thử lại xem code báo lỗi chổ nào
 
Muốn biết nó có vấn đề gì, mở code ra, xóa hết mấy dòng On Error... rồi thử lại xem code báo lỗi chổ nào

Vấn đề đáng nói ở chỗ là khi em chạy phiên bản 2007 nó lại báo là thành công (dù đã bỏ On Error), chỉ mỗi tội kết quả vẫn như cũ (không đổi được font) thế mới bực chứ, làm cho em mỗi lần sử dụng buộc phải dùng bản Portable2003.

Nếu không tìm ra nguyên nhân thì kệ nó, chắc là do cái vụ office2007 không ổn thôi thày ah. Em lấy máy cá nhân sài 2010, Test từ trưa đến nay kết quả đều rất tuyệt vời thày ah.
---
Mà em nghĩ ra rồi, khi mở Portable2003 thì nó không chuyển font cho những file Excel 2007 (.xlsx) là đúng.
 
Lần chỉnh sửa cuối:
Em Test đúng như file bài 37 (của bác Phanhanhdai) trên Excel 2010, còn 1 chút xíu lỗi nữa như sau:

ví dụ:
Nguồn (.VnTime) --> đích Times New Roman
-----------tính --> tÝnh
-----------kiến --> kiÕn
-----------Quyền--> QuyÒn

Không biết mọi người có gặp lỗi này không, nếu không cho em biết với nhé.
 
Lần chỉnh sửa cuối:
Em Test đúng như file bài 37 (của bác Phanhanhdai) trên Excel 2010, còn 1 chút xíu lỗi nữa như sau:

ví dụ:
Nguồn (.VnTime) --> đích Times New Roman
-----------tính --> tÝnh
-----------kiến --> kiÕn
-----------Quyền--> QuyÒn

Không biết mọi người có gặp lỗi này không, nếu không cho em biết với nhé.

Nam xem lại máy có bị nhiễm virut không chưa anh Test hoàn toàn rất ngon lành mà.
 
Sáng nay, em có thử chuyển font cho file (đính kèm ở dưới) nhưng rất lâu mà không ra kết quả, kính mong sư phụ Ndu cùng các bác Test chuyển dùm em file này.
 

File đính kèm

Rất mong mọi người chỉ dùm em file trong bài 42 ở trên có gì đặc biệt mà em chuyển mã font mãi mà không được (mấy file thẩm định tương tự của em cũng như vậy).
 
Đã test xong!
Code sửa lại:
Mã:
Sub TCVN3_To_Unicode(ByVal Range As Range)
  On Error Resume Next
  Dim rCel As Range
  Dim sFontName As String, sFormula As String
  For Each rCel In Range
    sFontName = rCel.Font.Name
    sFormula = rCel.Formula
    If Len(sFormula) Then
      If Left(sFontName, 3) = ".Vn" Then
        If sFontName Like ".Vn*H" Then
          rCel = UCase(Vn3Uni(sFormula))
        Else
          rCel = Vn3Uni(sFormula)
        End If
      End If
    End If
  Next
  Range.Font.Name = "Times New Roman"
End Sub
Mã:
Sub CharSetConvert()
  Dim fle As Object
  Dim vFolder, wks As Worksheet
  On Error Resume Next
  vFolder = CreateObject("Shell.Application").BrowseForFolder(0, "", 1).Self.Path
  On Error GoTo 0
  If TypeName(vFolder) = "String" Then
    vFolder = CStr(vFolder)
    With CreateObject("Scripting.FileSystemObject")
      Application.ScreenUpdating = False
      For Each fle In .GetFolder(vFolder).Files
        If UCase(fle.Path) <> UCase(ThisWorkbook.FullName) Then
          If fle.Type Like "Microsoft Excel*" Then
            With Workbooks.Open(fle.Path)
              For Each wks In .Worksheets
                TCVN3_To_Unicode wks.UsedRange
              Next
              .Close True
            End With
          End If
        End If
      Next
    End With
  End If
  MsgBox "Thành công"
  Application.ScreenUpdating = True
End Sub
Bỏ hết code cũ, chỉ chừa lại Function Vn3Uni
Xem file và test thử nhé
-------------------
Tôi nghĩ code trong Function Vn3Uni còn có thể cải tiến để tăng tốc được nữa đấy (có thể dùng Replace chẳng hạn)
Thưa thày, em thấy thày làm bài đổi tên Folder (file) ở http://www.giaiphapexcel.com/forum/showthread.php?86721-Đổi-tên-Folder/page2 rất hay, xin thày hãy giúp em biến Code trên thành Add-ins như bài trên thì tốt biết mấy.

Em xin cảm ơn thày rất nhiều.
 
Thưa thày, em thấy thày làm bài đổi tên Folder (file) ở http://www.giaiphapexcel.com/forum/showthread.php?86721-Đổi-tên-Folder/page2 rất hay, xin thày hãy giúp em biến Code trên thành Add-ins như bài trên thì tốt biết mấy.

Em xin cảm ơn thày rất nhiều.

Vấn đề là code ở topic này không phải do tôi viết (nói đúng là là code convert không phải tôi viết)
Thêm nữa, khi thí nghiệm code chạy với file ở bài 42 thì quả thật là không thành công mà tôi cũng không tìm ra được nguyên nhân
Vậy nên tôi chưa tiếp tục khi chưa bảo đảm rằng code chạy ổn định
 
Vấn đề là code ở topic này không phải do tôi viết (nói đúng là là code convert không phải tôi viết)
Thêm nữa, khi thí nghiệm code chạy với file ở bài 42 thì quả thật là không thành công mà tôi cũng không tìm ra được nguyên nhân
Vậy nên tôi chưa tiếp tục khi chưa bảo đảm rằng code chạy ổn định

Hằng ngày, việc chuyển font rất cần thiết, thực sự trên mạng những phần mềm đổi font cho Word rất nhiều nhưng chuyển cho Excel quả thực rất khó kiếm được cái nào chạy ổn định, em tìm kiếm cả năm trời trên mạng nhưng chưa được cái nào ưng ý.

Thời gian trước, em có hay sử dụng phần mềm TVEXCEL01 trên diễn đàn (em rất thích cái này duy chỉ có điểm chuyển vn.timeH sang Unicode thì bị biến thành chữ thường, tiện ích này chuyển được cả bài 42 nhưng thời gian lâu hơn bình thường, vì file này có lỗi gì đó).

Mấy hôm vừa rồi em dùng Code thày cải tiến thấy chạy rất ổn định, rất hay, em tha thiết kính mong thày quan tâm giúp em cải thiện sao cho nó có chức năng Include sub Folder thì thật hữu ích.

---
Em chỉ cần chức năng vậy (code chỉ cần như vậy) là quá tốt rồi, file bài 42 do nói bị lỗi thao tác thày ah.
 
Lần chỉnh sửa cuối:
Thời gian trước, em có hay sử dụng phần mềm TVEXCEL01 trên diễn đàn (em rất thích cái này duy chỉ có điểm chuyển vn.timeH sang Unicode thì bị biến thành chữ thường.
Nếu bạn quan tâm đến TỐC ĐỘ thì nên chấp nhận việc này. Ngay cả tôi, nếu muốn viết code chạy nhanh cũng sẽ làm vậy. Muốn vn.*H chuyển thành chữ HOA luôn, bạn phải trả giá đắt đấy!

------------------------------------------
Mấy hôm vừa rồi em dùng Code thày cải tiến thấy chạy rất ổn định, rất hay, em tha thiết kính mong thày quan tâm giúp em cải thiện sao cho nó có chức năng Include sub Folder thì thật hữu ích.
.

Xây dựng 1 ứng dụng đàng hoàng không phải chuyện dễ, nhất là khi ta muốn ứng dựng ấy thân thiện với người dùng
Như bài đổi tên thư mục cũng không phải là khó khăn gì (đồ nghề có sẵn cả) nhưng tôi vẫn phải mất 2 ngày test đi test lại (xem code bạn cũng thấy nó dài đến chóng mặt, cả tôi còn không dám nhìn... Ẹc... Ẹc...)
Còn 1 vấn đề khác nữa: Muốn viết code cho "ngon" thì thường phải có... hứng (cảm hứng thật sự của người đam mê lập trình)
Dù sao thì tôi cũng sẽ suy nghĩ về vấn đề này! Chờ nhé!
 
Nếu bạn quan tâm đến TỐC ĐỘ thì nên chấp nhận việc này. Ngay cả tôi, nếu muốn viết code chạy nhanh cũng sẽ làm vậy. Muốn vn.*H chuyển thành chữ HOA luôn, bạn phải trả giá đắt đấy!

.....

Em quan trọng nhất là giữ được định dạng như cũ (dưới góc độ quan sát bằng mắt thường), TỐC ĐỘ chậm 1 chút cũng không sao thày ah.
 
Nhờ trợ giúp phần giao diện

Tôi đã làm gần xong chương trình này nhưng còn chút rắc rối với phần giao diện. Xem hình:

Cap_1.png



















Cap_2.png


















Các bạn download file đính kèm dưới đây về và nghiên cứu giúp tôi chọn lựa 5 FaceId phù hợp nhất để gắn vào 5 ControlButton trên Toolbar nhé
(Tìm mấy cái FaceId này khá vất vả đây)
 

File đính kèm

File đính kèm

Tôi đã làm gần xong chương trình này nhưng còn chút rắc rối với phần giao diện. Xem hình:

View attachment 111697



















View attachment 111698


















Các bạn download file đính kèm dưới đây về và nghiên cứu giúp tôi chọn lựa 5 FaceId phù hợp nhất để gắn vào 5 ControlButton trên Toolbar nhé
(Tìm mấy cái FaceId này khá vất vả đây)

Khi em sử dụng chọn Folder nó hiện ra thông báo: The Macro 'ABC_To_Uni_TestMenu.xls!modeMain.ConvertOneFolder' cannot be found thì làm thế nào?

Em đã cho nó về chế độ Low (not Recommended) rồi mà.
 
Khi em sử dụng chọn Folder nó hiện ra thông báo: The Macro 'ABC_To_Uni_TestMenu.xls!modeMain.ConvertOneFolder' cannot be found thì làm thế nào?

Trời ơi!
Tôi chỉ gửi lên cái code tạo Toolbar thôi mà (đã có gì trong đó đâu mà chạy)
Mục đích tôi gửi file này là nhờ các bạn chọn giúp tôi 5 biểu tượng phù hợp (là FaceId) để gán vào các ControlButton cho nó đẹp thôi
Công việc viết code tôi không ngại, còn phần giao diện thì đúng là hơi.. oải (làm biếng)
 
Trời ơi!
Tôi chỉ gửi lên cái code tạo Toolbar thôi mà (đã có gì trong đó đâu mà chạy)
Mục đích tôi gửi file này là nhờ các bạn chọn giúp tôi 5 biểu tượng phù hợp (là FaceId) để gán vào các ControlButton cho nó đẹp thôi
Công việc viết code tôi không ngại, còn phần giao diện thì đúng là hơi.. oải (làm biếng)

Hihi thế mà em không biết, được thầy giúp cho Code thì quá tuyệt rồi.

Em thấy biểu tượng đó cũng đẹp mà thày
 
Hihi thế mà em không biết, được thầy giúp cho Code thì quá tuyệt rồi.

Em thấy biểu tượng đó cũng đẹp mà thày

Nếu bạn đồng ý thì mời test thử (file đính kèm dưới đây đã có đầy đủ code)
Nói sơ về cách dùng:
- Nhìn lên Toolbar mới vừa tạo, sẽ thấy có 1 mũi tên xổ xuống tên là Convert Option và 1 nút tên là Help
- Nếu chọn Convert Options\From Active Workbook\Selected Sheets: nghĩa là bạn muốn chuyển mã cho các sheet đang được chọn tại workbook hiện hành
- Nếu họn Convert Options\From Active Workbook\All Sheets: nghĩa là bạn muốn chuyển mã cho tất cả các sheet trên Workbook hiện hành
- Nếu chọn Convert Options\From Files or Folders\From files: thì một cửa sổ Open File sẽ hiện ra, bạn có thể chọn 1 hoặc nhiều file và chương trình sẽ chuyển mã cho tất cả các file Excel đã chọn
- Nếu chọn Convert Options\From Files or Folders\Files in one folder: thì một cửa sổ chọn Folder sẽ hiện ra, bạn chọn folder nào thì chương trình sẽ chuyển mã cho tất cả các file Excel có trong folder đã chọn nhưng không bao gồm các file trong các thư mục con
- Nếu chọn Convert Options\From Files or Folders\Files in all folders: thì một cửa sổ chọn Folder sẽ hiện ra giống như mục trước nhưng lần này sau khi bạn chọn một Folder thì chương trình sẽ chuyển mã cho tất cả các file trong folder đã chọn, bao gồm các file trong các thư mục con
-----------
Test thử nhé. Có thể lưu thành AddIn sẽ dùng cho khỏe
File đính kèm
 
Lần chỉnh sửa cuối:
Tôi đã làm gần xong chương trình này nhưng còn chút rắc rối với phần giao diện. Xem hình:

View attachment 111697



















View attachment 111698


















Các bạn download file đính kèm dưới đây về và nghiên cứu giúp tôi chọn lựa 5 FaceId phù hợp nhất để gắn vào 5 ControlButton trên Toolbar nhé
(Tìm mấy cái FaceId này khá vất vả đây)

Theo ý của em thì giao diện mà thày đưa ra rất trực quan, dễ nhớ, nhìn biểu tượng cũng hiểu được ý nghĩa cách dùng rồi.
 
Theo ý của em thì giao diện mà thày đưa ra rất trực quan, dễ nhớ, nhìn biểu tượng cũng hiểu được ý nghĩa cách dùng rồi.

Vấn đề là tôi vẫn chưa tìm ra các biểu tượng (Icon) phù hợp nên vẫn thấy nó.. kỳ kỳ thế nào ấy
(mà mấy vụ thẩm mỹ này tôi hơi kém)
 
Vấn đề là tôi vẫn chưa tìm ra các biểu tượng (Icon) phù hợp nên vẫn thấy nó.. kỳ kỳ thế nào ấy
(mà mấy vụ thẩm mỹ này tôi hơi kém)

Không biết dùng từ nào diễn tả nữa! Tuyệt vời có thể thao tác với nhiều file, quan trọng nhất là trong Sheet có cả Times New Roman và .VnTime nó không hề bị một lỗi chút nào

-----
Nhưng nếu file đó nằm sâu ở thư mục con thì nó chưa chuyển được (em xin hỏi, nếu thêm chức năng đó vào có phức tạp lắm không?).
 
Lần chỉnh sửa cuối:
Em vừa gửi file lên bài 60 rồi ah.

Ẹc... Ẹc... Lỗi do.. tôi. Xin lỗi nhé
Do code hơi hơi giống nhau nên khi copy code từ Sub này sang Sub khác tôi lại quên chỉnh sửa lại ---> Dẫn đến thằng cuối cùng làm việc y chang thằng kế cuối
Gửi lại file đây
 

File đính kèm

Ẹc... Ẹc... Lỗi do.. tôi. Xin lỗi nhé
Do code hơi hơi giống nhau nên khi copy code từ Sub này sang Sub khác tôi lại quên chỉnh sửa lại ---> Dẫn đến thằng cuối cùng làm việc y chang thằng kế cuối
Gửi lại file đây

Báo cáo thày tình hình rất ổn rồi.
Đa tạ thày rất nhiều, từ nay em không bận tâm phải làm việc chăm chỉ do phải chuyển Font nữa
 
Tuyệt vời, rất hữu ích, chuyển cho toàn bộ ổ D, kiểm tra lại không hề có một lỗi nào cả.

Mà cái phiên bản excel2007 ở cơ quan em nó cũng khoái Code này của thày, chuyển ầm ầm mới sướng chứ (trong khi hôm nọ chạy Code kia nó cứ đứng yên làm em vất vả dùng Portable2003).
---
Thày lưu dưới dạng đuôi xls là được rồi, em muốn hỏi ý nghĩa tại sao thày còn lưu thêm xlsm làm gì?
 
Lần chỉnh sửa cuối:
---
Thày lưu dưới dạng đuôi xls là được rồi, em muốn hỏi ý nghĩa tại sao thày còn lưu thêm xlsm làm gì?
Nếu dùng Excel 2007 trở lên thì đương nhiên khuyên dùng đuôi xlsm (Save As thành AddIn sẽ ở định dạng xlam) vì nó nhanh hơn
Còn lại, nếu dùng Excel 2003 ta sẽ lấy thằng xls
Cho phép người dùng thoải mái lựa chọn ấy mà
 
Sáng nay em chuyển font cho cơ quan, khi gặp file nào link dữ liệu với file khác nó báo như sau?
Sau khi chọn Edit Link -> Break thì nó bị treo rất lâu ah.
 

File đính kèm

  • untitled.JPG
    untitled.JPG
    20.9 KB · Đọc: 51

File đính kèm

File đính kèm

Có ai nghĩ rằng sẽ làm 1 chương trình convert đa năng không? Tức convert mọi bảng mã
Suy nghĩ xem! Tôi nghĩ chỉnh sửa 1 chút là ta sẽ có ngay chương trình này
 
Vậy thì còn gì bằng, thày giúp em vụ này với thày nhé.

Đúng ra thì mọi thứ đã xong cả rồi, giờ chỉ thêm vài chức năng nữa thiết nghĩ cũng đâu phải chuyện khó
- Đầu tiên là xây dựng thêm CommandBar Control, ví dụ như hình:

Cap_1.jpg
















Cap_2.jpg

















- Tiếp theo sửa :
Sub TCVN3_To_Unicode(ByVal Range As Range)
thành
Sub CharSetConvert(ByVal Range As Range, ByVal Source_CharSet As convert_source, ByVal Destination_CharSet As convert_dest)
Đồng thời những Sub nào trong file đang liên kết đến TCVN3_To_Unicode thì giờ sửa lại để nó liên kết đến CharSetConvert
Vậy thôi! Mọi người mở ra tự nghiên cứu đi chứ
 
Lần chỉnh sửa cuối:
Có ai nghĩ rằng sẽ làm 1 chương trình convert đa năng không? Tức convert mọi bảng mã
Suy nghĩ xem! Tôi nghĩ chỉnh sửa 1 chút là ta sẽ có ngay chương trình này
Cái chương trình này vẫn rất cần
quá trình trao đổi dữ liệu với mọi người nhiều người chưa dùng chuẩn Unico
bản thân em cũng bị phụ thuộc một số phần mềm của xây dựng sử dụng Font .vntime, .vni mỗi lần chạy phần mềm xong thì lại phải chuyển sang unico định tẩy chay nhưng chưa được
chương trình convert đa năng rất cần nhờ thầy nghiên cứu giúp chúng em, Em hiện giờ vẫn phải chuyển thủ công bằng Unikey
Cảm ơn thầy nhiều, File của thầy bên trên chạy rất tốt
 
Lần chỉnh sửa cuối:
Có ai nghĩ rằng sẽ làm 1 chương trình convert đa năng không? Tức convert mọi bảng mã
Suy nghĩ xem! Tôi nghĩ chỉnh sửa 1 chút là ta sẽ có ngay chương trình này

Em tin có vô số người mong muốn chương trình như vậy mà không biết tìm đâu trên Google, với Word thì nếu chưa tìm ra phần mềm ưng ý thì mọi người còn có thể dùng tạm Unikey, riêng Excel mà dùng Unikey thì đúng là phải làm việc rất vất vả mà hiệu quả không cao. Rất mong thày giúp em và mọi người./.
 
Lần chỉnh sửa cuối:
Từ lâu, em mong ước có 2 phần mềm chuyển Font cho Excel như thày đề cập và cho Powerpoint, riêng chuyển đổi Font cho PowerPoint (cho tất cả các Silde của file) là rất khó, em tin ngoại trừ thày ra ít ai làm nổi cái này, tuy nhiên em biết thày chỉ thích về tính toán thôi, vả lại làm cái đó mất nhiều thời gian, công sức nên em không dám viết bài nhờ.
 
Thật ra không phải tôi không làm được. Vấn đề là tôi muốn các bạn tự nghiên cứu trên cái "sườn" đã có sẵn
Phần khó nhất tôi đã làm, giờ các bạn chỉ thêm "mắm muối" vào thôi mà
Cố lên xem, sai thì sửa
 
Cảm ơn thày rất nhiều, tiện ích của thày rất hay em bao giờ cũng lưu chủ đề ở phần chữ ký để tiện khi sử dụng.
 
Lần chỉnh sửa cuối:
Thật ra không phải tôi không làm được. Vấn đề là tôi muốn các bạn tự nghiên cứu trên cái "sườn" đã có sẵn
Phần khó nhất tôi đã làm, giờ các bạn chỉ thêm "mắm muối" vào thôi mà
Cố lên xem, sai thì sửa

Cảm ơn thày đã cho chúng em một giải pháp tuyệt vời, thú thực với thày không phải là do em ngại, nhưng quả thật em gần như không hiểu biết gì nhiều về khái niệm về chuyển mã/font, xin thày giúp chúng em có được tiện ích Convert đa năng cho Excel với.

Chân thành cảm tạ thày rất nhiều.
 
Lần chỉnh sửa cuối:
Em rất cần Convert đa năng (bao gồm cả phông VNI), kính mong thày Ndu giúp em.
 
Thầy Ndu ơi, thầy viết thêm đoạn code chuyển từ VNI sang Unicode trong file ABC_to_Uni.xlsm

Vì em đang cần convert rất nhiều file, mỗi file có hơn 15 sheet trong đó.

Cảm ơn thầy nhiều.
 

Bài viết mới nhất

Back
Top Bottom