Làm thế nào để chuyển nhiều font chữ về 1 font chữ duy nhất

Liên hệ QC

huonglien1901

GPE là ngôi nhà thứ 2 của tôi!!!
Tham gia
17/4/16
Bài viết
2,701
Được thích
2,433
Giới tính
Nam
Nghề nghiệp
Nhân viên kỹ thuật in ấn
Em chào mọi người!

Em có vấn đề nhờ mọi người hỗ trợ.

Hiện tại file Word em có 2 loại font chữ Time New Roman, VNI-Times.

Em muốn chuyển 2 font chữ này về 1 font chữ là Time New Roman.

Mọi người có giải pháp nào hay hỗ trợ giúp em với.

Em cảm ơn mọi người rất nhiều!
 

File đính kèm

  • font chữ.docx
    17.8 KB · Đọc: 11
Em chào mọi người!

Em có vấn đề nhờ mọi người hỗ trợ.

Hiện tại file Word em có 2 loại font chữ Time New Roman, VNI-Times.

Em muốn chuyển 2 font chữ này về 1 font chữ là Time New Roman.

Mọi người có giải pháp nào hay hỗ trợ giúp em với.

Em cảm ơn mọi người rất nhiều!
Vấn đề của bạn không phải là chuyển phông chữ. Cùng một đoạn văn bản như tôi đang gõ ở đây bạn có thể "bôi đen" và chọn phông chữ Times New Roman, Arial, Verdana hay phông chữ nào khác để hiển thị. Phông chữ chỉ dùng để hiển thị văn bản. Cùng một búp bê nếu hiển thị bởi chuyên gia A thì mắt long lanh hơn, nếu hiển thị bởi chuyên gia B thì má hồng hơn. Thế thôi. Còn bản chất, "cái lõi" nó là thế này thế này.
Nhiều người nói không chuẩn. Cái mà bạn muốn là convert văn bản đang dùng bảng mã VNI (tôi dùng thuật ngữ của Unikey) sang dùng bảng mã unicode. Chả liên quan gì tới phông chữ. Khi có kết quả convert rồi thì muốn chọn phông chữ nào (Times New Roman, Arial, Verdana, ...) để hiển thị thì là chuyện hoàn toàn khác.

Tải Module1.rar về máy và giải nén.

Thao tác: mở tập tin "font chữ.docx" -> Alt + F11 -> đúp chuột vào ThisDocument -> menu File -> Import File ... -> duyệt tới và chọn Module1.bas -> chạy sub VniToUnicode trong Module1

Cũng cần nói rõ là code không kiểm tra mà "cho là" mọi chỗ dùng bảng mã VNI thì cũng đang được chọn phông chữ VNI-Times. Không có điều này thì code coi như vứt đi.
 

File đính kèm

  • Module1.rar
    2.9 KB · Đọc: 13
Lần chỉnh sửa cuối:
Vấn đề của bạn không phải là chuyển phông chữ. Cùng một đoạn văn bản như tôi đang gõ ở đây bạn có thể "bôi đen" và chọn phông chữ Times New Roman, Arial, Verdana hay phông chữ nào khác để hiển thị. Phông chữ chỉ dùng để hiển thị văn bản. Cùng một búp bê nếu hiển thị bởi chuyên gia A thì mắt long lanh hơn, nếu hiển thị bởi chuyên gia B thì má hồng hơn. Thế thôi. Còn bản chất, "cái lõi" nó là thế này thế này.
Nhiều người nói không chuẩn. Cái mà bạn muốn là convert văn bản đang dùng bảng mã VNI (tôi dùng thuật ngữ của Unikey) sang dùng bảng mã unicode. Chả liên quan gì tới phông chữ. Khi có kết quả convert rồi thì muốn chọn phông chữ nào (Times New Roman, Arial, Verdana, ...) để hiển thị thì là chuyện hoàn toàn khác.

Tải Module1.rar về máy và giải nén.

Thao tác: mở tập tin "font chữ.docx" -> Alt + F11 -> đúp chuột vào ThisDocument -> menu File -> Import File ... -> duyệt tới và chọn Module1.bas -> chạy sub VniToUnicode trong Module1
Em cảm ơn Bác đã hỗ trợ giúp em. Em có làm như Bác nói có lỗi như hình.
lỗi.png
em có gửi file đính kèm em chạy sub VniUnicode thì có lỗi như hình.
 

File đính kèm

  • font chữ.docx
    27.3 KB · Đọc: 1
Em cảm ơn Bác đã hỗ trợ giúp em. Em có làm như Bác nói có lỗi như hình.
View attachment 278233
em có gửi file đính kèm em chạy sub VniUnicode thì có lỗi như hình.
Sau khi đổi tên 2 sub (lúc đâu sub kia tên là VniToUnicode còn sub có dòng vàng tên là test) tôi quên không sửa lại code. Chỗ vàng phải là (lẽ ra bạn phải đoán được) VniSelectedToUnicode
 
Sau khi đổi tên 2 sub (lúc đâu sub kia tên là VniToUnicode còn sub có dòng vàng tên là test) tôi quên không sửa lại code. Chỗ vàng phải là (lẽ ra bạn phải đoán được) VniSelectedToUnicode
em chạy dòng lệnh Sub VniSelectedToUnicode thì có lỗi như hình.
Trong file em có phát hiện có thêm 1 font cambria em có đánh dấu màu đỏ. Nhờ Bác có cách nào convert như ý Bác nói về 1 font chữ Time New Roman.

Em cảm ơn Bác nhiều!

1656762128967.png
anh1.png
 

File đính kèm

  • font chữ.docx
    31.6 KB · Đọc: 5
Lần chỉnh sửa cuối:
em chạy dòng lệnh Sub VniSelectedToUnicode thì có lỗi như hình.
Trong file em có phát hiện có thêm 1 font cambria em có đánh dấu màu đỏ. Nhờ Bác có cách nào convert như ý Bác nói về 1 font chữ Time New Roman.
Tôi quên khai báo biến kytu2 (nơi tôi "cắt" ra thì module không có Option Explicit nên không bị thông báo lỗi).
Bạn sửa trong Function SourceToDest
Mã:
Dim s As String, temp As String

thành

Mã:
Dim s As String, temp As String, kytu2 As String

Tôi đã thêm khai báo và sửa lại như bài #5 trong tập tin đính kèm ở bài #3
--------------
Chỗ mầu đỏ cũng dùng VNI-Times. Trong từ Hoặc thì "Ho" đang dùng VNI-Times (bôi đen "Ho" sẽ thấy).

Có rất nhiều câu bị một nửa dùng VNI-Times, nửa còn lại dùng Times New Roman. Vd.

Trong BỘ CÔNG THƯƠNG thì "BỘ CÔNG TH" dùng VNI-Times, còn ƯƠNG dùng Times New Roman.

Trong HỢP ĐỒNG SỬA CHỮA thì "HỢP ĐỒNG " dùng VNI-Times, còn "SỬA CHỮA" dùng Times New Roman

Không tin thì bạn kiểm tra.

Chạy code thì Ho sẽ được convert từ VNI về unicode và Times New Roman được chọn cho nó. Còn "ặc" vẫn dùng phông chữ Cambria.

Nếu bạn muốn chọn phông chữ (tôi nhắc lại, không phải convert vì convert là chuyển bảng mã) Times New Roman thay cho Cambria để hiển thị thì chạy code
Mã:
Sub Cambria2Times()
'    chon phong chu Times New Roman cho nhung doan van ban dang dung phong chu Cambria
'    De chon Times New Roman cho nhung doan van ban dang dung phong chu khac thi cung tuong tu - Thay "Cambria" bang ten phong chu do.
    Selection.End = 0
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Font.Name = "Cambria"
    Do While Selection.Find.Execute
        Selection.Font.Name = "Times New Roman"
    Loop
End Sub
 
Tôi quên khai báo biến kytu2 (nơi tôi "cắt" ra thì module không có Option Explicit nên không bị thông báo lỗi).
Bạn sửa trong Function SourceToDest
Mã:
Dim s As String, temp As String

thành

Mã:
Dim s As String, temp As String, kytu2 As String

Tôi đã thêm khai báo và sửa lại như bài #5 trong tập tin đính kèm ở bài #3
--------------
Chỗ mầu đỏ cũng dùng VNI-Times. Trong từ Hoặc thì "Ho" đang dùng VNI-Times (bôi đen "Ho" sẽ thấy).

Có rất nhiều câu bị một nửa dùng VNI-Times, nửa còn lại dùng Times New Roman. Vd.

Trong BỘ CÔNG THƯƠNG thì "BỘ CÔNG TH" dùng VNI-Times, còn ƯƠNG dùng Times New Roman.

Trong HỢP ĐỒNG SỬA CHỮA thì "HỢP ĐỒNG " dùng VNI-Times, còn "SỬA CHỮA" dùng Times New Roman

Không tin thì bạn kiểm tra.

Chạy code thì Ho sẽ được convert từ VNI về unicode và Times New Roman được chọn cho nó. Còn "ặc" vẫn dùng phông chữ Cambria.

Nếu bạn muốn chọn phông chữ (tôi nhắc lại, không phải convert vì convert là chuyển bảng mã) Times New Roman thay cho Cambria để hiển thị thì chạy code
Mã:
Sub Cambria2Times()
'    chon phong chu Times New Roman cho nhung doan van ban dang dung phong chu Cambria
'    De chon Times New Roman cho nhung doan van ban dang dung phong chu khac thi cung tuong tu - Thay "Cambria" bang ten phong chu do.
    Selection.End = 0
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Font.Name = "Cambria"
    Do While Selection.Find.Execute
        Selection.Font.Name = "Times New Roman"
    Loop
End Sub
Em cảm ơn Bác thật nhiều!
Hiện tại khi em chạy code thì thấy có sự thay đổi các định dạng trong file.
làm thế nào khi chạy code có thể vẫn giữ định dạng của nó không Bác?
 
Lần chỉnh sửa cuối:
Em cảm ơn Bác thật nhiều!
Hiện tại khi em chạy code thì thấy có sự thay đổi các định dạng trong file.
làm thế nào khi chạy code có thể vẫn giữ định dạng của nó không Bác?
File chuẩn file 1:
File thứ 2 khi chạy code:
Em gửi Bác xem!
Cái này là thay đổi nội dung thôi. Có thể phải để ý tới cả định dạng nữa.

Chưa nói tới các vấn đề khác, chỉ riêng việc thay đổi độ dài của một đoạn văn bản (convert thường là cho kết quả có độ dài khác) thì hình thức của toàn bộ văn bản đã thay đổi. Trong hình dưới đây trong dòng đầu tiên sau Mành là ký tự TAB (nhấn phím TAB). Sau khi sao chép sang dòng 2 và chỉ viết thêm 1 ký tự 1 sau ký tự 1 ở đầu thì thấy khoảng cách giữa Mành và 21.0321057,105.8461122 tăng lên rõ rệt.

codan.png

Và chắc còn nhiều vấn đề nữa, nhưng tôi ngại quá. Thôi coi như tôi không tham gia chủ đề này. Bạn chờ người khác nhé.

Bạn liên lạc với nick mynguyenanh xem sao.
 
Lần chỉnh sửa cuối:
Cái này là thay đổi nội dung thôi. Có thể phải để ý tới cả định dạng nữa.

Chưa nói tới các vấn đề khác, chỉ riêng việc thay đổi độ dài của một đoạn văn bản (convert thường là cho kết quả có độ dài khác) thì hình thức của toàn bộ văn bản đã thay đổi. Trong hình dưới đây trong dòng đầu tiên sau Mành là ký tự TAB (nhấn phím TAB). Sau khi sao chép sang dòng 2 và chỉ viết thêm 1 ký tự 1 sau ký tự 1 ở đầu thì thấy khoảng cách giữa Mành và 21.0321057,105.8461122 tăng lên rõ rệt.

View attachment 278248

Và chắc còn nhiều vấn đề nữa, nhưng tôi ngại quá. Thôi coi như tôi không tham gia chủ đề này. Bạn chờ người khác nhé.

Bạn liên lạc với nick mynguyenanh xem sao. cảm ơn Bác nhiều!
Em cảm ơn Anh thật nhiều!
Vụ định dạng em chỉnh sửa bằng tay lại.
Lần nữa em cảm ơn Anh đã giúp đỡ em.
 
Web KT
Back
Top Bottom