Hi Develpers please guide me how to show custom notification correct urdu in vba editors

Anonymous
2025-06-25T19:00:42+00:00

I will design a custom notification form, but my form does not show the correct Urdu. I will write a VBA message in Arial(Arabic) and show, do not correct, Urdu .Please help me

Microsoft 365 and Office | Access | Other | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
{count} votes

8 answers

Sort by: Most helpful
  1. Anonymous
    2025-06-26T02:06:36+00:00

    Hi Faisal Khan8,

    Thank you for reaching out to our community, I'm glad to be here to support you

    Based on your description, you're trying to display correct Urdu text in a custom VBA notification form using the Arial (Arabic) font, but the output is incorrect. here is some suggestions may be helpful to you:

    1. Set System Locale to Urdu

    VBA is a non-Unicode environment, so the system locale must match the target language.

    Steps:

    • Go to Control Panel > Region > Administrative tab
    • Click Change system locale
    • Select Urdu (Pakistan) or Arabic (Pakistan) depending on the font
    • Restart the computer

    This change allows non-Unicode programs like VBA to render Urdu properly 

    2. Use a Compatible Font in VBA Editor

    Even if Arial(Arabic) is selected, the VBA editor may not render Urdu unless the font fully supports it.

    Recommended Fonts:

    • Courier New (Arabic) or Times New Roman (Arabic) often work better
    • Set this in VBA Editor > Tools > Options > Editor Format > Font

    This workaround has been confirmed to allow correct Arabic and Urdu rendering in VBA code  3. Paste Urdu Text from UTF-8 Source Typing Urdu directly in the VBA editor may result in garbled characters. Instead:

    • Write the Urdu message in Notepad and save it as UTF-8
    • Copy and paste the text into your VBA code

    Example:

    MsgBox "آپ کا پیغام یہاں ہے", vbInformation, "اطلاع"
    

    If this shows as "????", it’s likely due to encoding or font issues. Use the UTF-8 method to preserve characters

    4. Use HTML or Unicode Workarounds for Forms

    If the notification is displayed in a form or email, use HTML formatting with UTF-8 encoding:

    Function UrduHTML(msg As String) As String
    
        UrduHTML = ""
    
        UrduHTML = UrduHTML & msg & ""
    
    End Function
    

    Then use this in your form or email body to ensure proper rendering

    Kindly note:

    • If Urdu still doesn’t show correctly, try changing the font to Courier New (Arabic) in the VBA editor
    • Make sure the Windows language pack for Urdu is installed.
    • Some users report RTL typing issues in VBA on macOS

    Hope it helps, and pardon me if I misunderstand your point, If it's so, please provide us screenshot so we can better understand your issue. Please feel free to reach out if you need any other supporting.

    Have a nice day

    Best regards,    Darren-Ng | Microsoft Community Support Specialist

    0 comments No comments
  2. Anonymous
    2025-06-26T06:36:44+00:00

    Hi Sir,
    Thanks for the Reply i am facing this problem
    Using this custom form "ی" under the message and two dots, how to remove these dots please help me

    0 comments No comments
  3. Anonymous
    2025-06-26T07:50:55+00:00

    Hi,

    Thank you for your update. After researching, here are some suggestions may be helpful to you:

    To remove the two dots under the custom Arabic letter "ی" (which is typically the Persian or Urdu variant of the Arabic "Ya"), you can replace it with the Arabic version "ي" (Unicode U+064A), which does not have the two dots below.

    In HTML or Web Development

    Use the Arabic Ya character:

    ي

    In Unicode-aware Text Editors

    Replace "ی" (U+06CC) with "ي" (U+064A).

    In Fonts or Typography

    If you're using a custom font or typesetting system:

    • Ensure the font supports the Arabic "ي" without dots.
    • In some design tools (like Adobe Illustrator or Photoshop), you can manually edit the glyph or use a font variant that omits the dots.

    Please let me know if all suggestions above cannot resolve your issue or you need any other questions, feel free to reach out.

    Thank you for your cooperation once again, have a nice day!   Looking forward to your update.Best regards,Darren-Ng | Microsoft Community Support Specialist

    0 comments No comments
  4. Anonymous
    2025-06-26T08:09:52+00:00

    Dear Sir,
    Please tell me any other font for like Courier New (Urdu) orPlease instruct me to enter a message in the table and display it in a custom message box. Please guide me on how to call a message from a table, all messages, or type in one table and call different positions

    0 comments No comments
  5. Anonymous
    2025-06-27T00:50:50+00:00

    Hi,

    Thank you for your update. However, could you please let us know which app the displayed notification you mentioned above belongs to? so, we can support you more effective

    In the meantime, to call and display messages stored in a table (e.g., Excel or Access) in a custom message box using VBA, you can reference suggestions below:

    VBA Code to Retrieve and Display

    Sub ShowMessageByID(msgID As Integer) 
    
        Dim msgText As String 
    
        Dim ws As Worksheet 
    
        Set ws = ThisWorkbook.Sheets("Messages") 
    
        msgText = ws.Cells(msgID + 1, 2).Value 'Assuming header is in row 1 
    
        MsgBox msgText, vbInformation, "اطلاع" 
    
    End Sub 
    

    Call Different Positions

    You can call different messages by passing different msgID values:

    Call ShowMessageByID(1) 'Shows message with ID 1 
    
    Call ShowMessageByID(2) 'Shows message with ID 2 
    

    Hope it helpful to you.

    Appreciated your patience and cooperation!! have a nice day.

    Best regards,    Darren-Ng | Microsoft Community Support Specialist

    0 comments No comments