Trang 3 của 6 Đầu tiênĐầu tiên 12345 ... CuốiCuối
Kết quả 21 đến 30 của 55

Chủ đề: MsgBox tiếng Việt Unicode đơn giản với sự trợ giúp của hàm Macro 4

  1. #21
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Trích dẫn Gửi bởi ductam_ht1
    Em đã setup đủ các font cho máy tính rồi mà sao không thể viết được font unicode trong vba????
    Mà khi chỉnh vietnamese cho language setting thì excel sẽ tự động chỉnh các mặc định theo quy định việt nam (ví dụ như "." thành ",") như thế rất bất tiện.
    Các Anh chỉ giúp E!
    Bác nhớ vẫn xài phải xài bàn phím bằng english ấy !!!sẽ hết bị như thế!!!

  2. #22
    lediem_itvn Guest
    [QUOTE="anhtuan1066"]Có nhiều giải pháp cho MsgBox tiếng Việt Unicode, ở đây xin giới thiệu 1 giải pháp cực đơn giản với sự trợ giúp của hàm Macro 4
    Các bước thực hiện:
    1> Tạo 1 Name với nội dụng là đoạn text mà bạn cần hiển thị
    40px

    </div>
    </div>
    </div>
    Em kiến thức còn kém xin hỏi.phần tạo cái này làm như thé nào:Tạo 1 Name với nội dụng là đoạn text mà bạn cần hiển thị
    40px

  3. #23
    tientho90 Guest
    [QUOTE="phuyen89"]Em kiến thức còn kém xin hỏi.phần tạo cái này làm như thé nào:Tạo 1 Name với nội dụng là đoạn text mà bạn cần hiển thị
    40px
    Bạn mở file lên, vào menu Insert\Name\Define là tự nhiên sẽ hiểu

  4. #24
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Trích dẫn Gửi bởi ndu96081631
    Còn tiêu đề của Msg thì hình như không có cách thay đổi
    PHƯƠNG ÁN 1:

    Nếu bạn muốn dùng Msgbox thì cần dùng bảng mã CP 1258.
    Để sử dụng CP 1258 bạn cần:
    1 - Chọn cài đặt các file cần thiết cho CP 1258.
    2 - Đặt sẵn CP 1258 cho mã nguồn non-Unicode.
    3 - Chạy bộ gõ mà có hổ trợ bảng mã 1258. Đề cử bạn dùng Unikey.
    4 - Format trang VBE của bạn sang font Vietnamese.

    Cái số 1: Vào Control Panel / Region Language, ở tab Language chọn Install for East Asian Language. Nếu máy bạn đã có thì sang số 2.
    Cái số 2: Vào Control Panel / Region Language, ở tab Advanced chọn Vietnamese.
    Cái số 3: Không có gì đặt biệt, bạn chỉ cần dùng Unikey và chọn bảng mã CP 1258 để sẵn sàng gõ tiếng Việt.
    Cái số 4: Trong VBE của Excel bạn chọn To ols/ Option/ Editor Format và chọn font unicode có chữ (Vietnamese) ở phía sau.
    ---- Bạn chỉ thấy xuất hiện font này khi bạn có thực hiện bước số 1 ----

    Chú ý:
    - Chủ yếu là bạn phải cài file cho East Asian Language và đặt codepage 1258 cho các program non-unicode, không cần phải chọn tất cả các cái trong Region Language sang Vietnamese chẳng hạn như là kiểu tiền, dấu thập phân ... (nếu bạn không thích).
    (Hướng dẫn của quan314k ở bài trước là chọn lung tùng phèng mà không nhớ là mình chọn cái đó để làm gì).
    - Dĩ nhiên bạn phải chọn trong Unikey bảng mã 1258 và format trang đang viết trong VBE sang Vietnamese - ví dụ bạn chọn Tahoma(Vietnamese) - là để bạn đọc được các tiếng Việt mà bạn gõ vào.
    - Quan trọng:
    Bạn đang dùng CP 1258 thì dĩ nhiên nó khác với UTF-8 (CP 65001). Dù sao đi nữa thì CP 65001 vẫn phổ biến hơn. Các trang web vẫn xài UTF-8. Hãy cân nhắc khi quyết định sử dụng CP 1258, bởi vì tôi đoán chắc rằng dữ liệu trong máy của bạn phần lớn là dùng UTF-8. Nó sẽ gây khó khăn nếu bạn cần so sánh chuỗi trong dữ liệu với nội dung của Msgbox.
    Tuy nhiên nếu bạn dùng HTML Help Workshop để làm file hướng dẫn .CHM thì bạn cần làm quen với CP 1258. Nhưng dù sao thì nó cũng là 1 phần mềm riêng, sau khi bạn đã biên dịch sang .chm thì bạn có thể trả default codepage ở máy của bạn về CP 1252 mà file .chm của bạn vẫn chạy ngon lành. Bởi vì nó đã được biên dịch sang mã máy rồi.
    Trong khi đó với VBA thì nó sẽ biên dịch lại mỗi khi bạn sửa code. Vì thế, bạn sẽ phải để luôn máy của bạn ở CP 1258 (cái bước số 2 ấy mà). Nếu mang sang máy khác thì không hiển thị tiếng Việt CP 1258 được - nếu như máy đó đặt codepage khác đi - vì nó sẽ không biên dịch đúng CP.


    PHƯƠNG ÁN 2:

    Bạn vẫn muốn dùng UTF-8 hơn là CP 1258.
    Đây là yêu cầu chính đáng thôi.
    Vì thế bạn đã dùng Macro4.Alert thay cho dùng Msgbox.

    Ưu thế của phương án 1 so với phương án này là: bạn có thể dùng CP 1258 ở mọi nơi như là trong trang VBE, trong form, trong cửa sổ properties...
    Nói nào ngay, với VNI và TCVN3 bạn cũng làm được như thế. Chỉ có điều CP 1258 dùng chung font với unicode nên nó đẹp hơn (chỉ thua cái font Thư Pháp thôi).

    Trong phương án 2 này tôi đề nghị bạn thử dùng Assistant.DoAlert thay vì dùng Macro4.Alert
    Như thế bạn có thể đặt tiêu đề tiếng Việt. Ngoài ra các nút OK, Cancel ... cho bạn sử dụng cũng nhiều hơn.
    Cú pháp:

    Application.Assistant.DoAlert(bstrAlertTitle, bstrAlertText, MsoAlertButtonType, MsoAlertIconType, MsoAlertDefaultType, MsoAlertCancelType, varfSysAlert)

    (Bạn xem thêm hướng dẫn trong Help của Microsoft)

    Nhắc lại: bạn không thể gõ trực tiếp Unicode dựng sẵn hoặc UTF-8 vào VBE được.
    Bạn có thể gõ AlertTitle và AlertText vào 1 cell nào đó trong bảng tính, hoặc gán vào 1 cái Name nào đó, hoặc gõ vào 1 cái label nào đó trong 1 cái form ... rồi sau đó gán vào DoAlert.

    Trong một số tình huống không quan trọng mà bạn không cần xử lý chuỗi trong AlertText, chỉ đơn giản là bạn muốn hiển thị thông báo mà thôi thì đề nghị bạn áp dụng biện pháp bổ sung:
    Dùng bảng mã CP 1258 để gõ vào VBE (Nhớ chọn Editor Format là Tahoma(Vietnamese) để đọc được cái mình gõ vào).

    Cú pháp:
    Application.Assistant.DoAlert( _
    StrConv(StrConv("Đây là tiêu đề tiếng Việt", vbFromUnicode), vbUnicode, 1066), _
    StrConv(StrConv("Còn chỗ này là nội dung", vbFromUnicode), vbUnicode, 1066), _
    msoAlertButtonYesAllNoCancel, _
    msoAlertIconCritical, _
    msoAlertDefaultSecond, _
    msoAlertCancelFirst, _
    False)
    --- Chỗ tiếng Việt ở trên nhớ gõ bằng CP 1258 nhé bạn và nhớ xem thêm về hàm StrConv() ---

  5. #25
    ngocphuong Guest
    Thì chọn phương án 2 và tự mình hạn chế thèm muốn khi thấy người ta xài Msgbox thoải mái.

  6. #26
    minhthai999 Guest
    Trích dẫn Gửi bởi muontennguoikhac
    Thì chọn phương án 2 và tự mình hạn chế thèm muốn khi thấy người ta xài Msgbox thoải mái.
    Uh... học thêm được 1 cách mới
    Có điều phương án 2 này nó cũng đâu có hiện được Tiếng Việt Unicod TRÊN TIÊU ĐỀ đâu nè?
    Thêm nữa, topic này là MsgBox tiếng Việt Unicode đơn giản.... Nếu mà giải pháp rắc rối quá tôi thà xài UserForm cho nó khỏe ---> Tiêu đề hay nội dung gì cũng gõ tiếng Việt được ráo trọi

  7. #27
    hajnguyen Guest
    Trích dẫn Gửi bởi ndu96081631
    Uh... học thêm được 1 cách mới
    Có điều phương án 2 này nó cũng đâu có hiện được Tiếng Việt Unicod TRÊN TIÊU ĐỀ đâu nè?
    Thêm nữa, topic này là MsgBox tiếng Việt Unicode đơn giản.... Nếu mà giải pháp rắc rối quá tôi thà xài UserForm cho nó khỏe ---> Tiêu đề hay nội dung gì cũng gõ tiếng Việt được ráo trọi
    Đọc kỹ hướng dẫn trước khi dùng! [IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG]
    Bạn mở cái file tôi gửi kèm lên thì thấy thôi mà.

  8. #28
    haicauhoan Guest
    Trích dẫn Gửi bởi muontennguoikhac
    Đọc kỹ hướng dẫn trước khi dùng! [IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG]
    Bạn mở cái file tôi gửi kèm lên thì thấy thôi mà.
    Bạn ơi, tiêu đề cùa Thầy AnhTuan1066 nói rất rõ là dùng Macro4 để tạo nên Msgbox bằng tiếng Việt, nhưng để bạn thấy rằng có nhiều cách để tạo Caption cho Form, cũng như Msgbox bằng tiếng Việt, mình xin gửi một File lên cho các bạn cùng xem nhé! Chỉ là tổng hợp chất xám của diễn đàn chúng ta thôi.

    1) UserForm có Caption Tiếng Việt:



    2) MsgBox có Caption và nội dung bằng Tiếng Việt:


  9. #29
    seobookin Guest
    Trích dẫn Gửi bởi minhthien321
    Bạn ơi, tiêu đề cùa Thầy AnhTuan1066 nói rất rõ là dùng Macro4 để tạo nên Msgbox bằng tiếng Việt, nhưng để bạn thấy rằng có nhiều cách để tạo Caption cho Form, cũng như Msgbox bằng tiếng Việt, mình xin gửi một File lên cho các bạn cùng xem nhé! Chỉ là tổng hợp chất xám của diễn đàn chúng ta thôi.
    ....
    Tôi có nói gì về MessageBoxW không ta??? Hình như là chưa.

    1/. Nếu nói dùng Alert không hiển thị được tiêu đề tiếng Việt: đề nghị thử Assistant.DoAlert
    2/. Nếu dùng bất cứ cái gì thuộc dạng ký sinh để chứa tiếng Việt thì có nhiều cách; còn nếu muốn gõ tiếng Việt vào VBE: cần dùng CP1258.

    Thế thôi.
    Dùng cái nào là chuyện của bạn.

  10. #30
    Ngày tham gia
    Aug 2015
    Bài viết
    3
    Trích dẫn Gửi bởi muontennguoikhac
    PHƯƠNG ÁN 1:

    Nếu bạn muốn dùng Msgbox thì cần dùng bảng mã CP 1258.
    Để sử dụng CP 1258 bạn cần:
    1 - Chọn cài đặt các file cần thiết cho CP 1258.
    2 - Đặt sẵn CP 1258 cho mã nguồn non-Unicode.
    3 - Chạy bộ gõ mà có hổ trợ bảng mã 1258. Đề cử bạn dùng Unikey.
    4 - Format trang VBE của bạn sang font Vietnamese.

    Cái số 1: Vào Control Panel / Region Language, ở tab Language chọn Install for East Asian Language. Nếu máy bạn đã có thì sang số 2.
    Cái số 2: Vào Control Panel / Region Language, ở tab Advanced chọn Vietnamese.
    Cái số 3: Không có gì đặt biệt, bạn chỉ cần dùng Unikey và chọn bảng mã CP 1258 để sẵn sàng gõ tiếng Việt.
    Cái số 4: Trong VBE của Excel bạn chọn To ols/ Option/ Editor Format và chọn font unicode có chữ (Vietnamese) ở phía sau.
    ---- Bạn chỉ thấy xuất hiện font này khi bạn có thực hiện bước số 1 ----
    .........................
    -
    Cảm ơn những chia sẽ của bạn! Điều quan trọng mà người dùng muốn (và tôi cũng muốn) là sử dụng được tiếng Việt Unicode mà không phải chỉnh gì trong hệ thống ấy chứ

Trang 3 của 6 Đầu tiênĐầu tiên 12345 ... CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •