نمایش صحیح حروف فارسی در اکسل

قبلا مطلبی با عنوان حل مشکل نمایش مشکل حروف فارسی در اکسل داشتیم ، اما با وجود انجام آن تنظیمات هم متاسفانه بعضی از سیستمها همچنان هر جا که برنامه نویس از حروف فارسی استفاده کرده حروف به هم ریخته نمایش می دهد که نمونه آن را در تصویر زیر مشاهده می کنید .

اگر تنظیمات Region ویندوز را انجام داده باشید و همچنان با این مشکل مواجه شوید ، باید بگویم که این مورد باید توسط برنامه نویس برطرف شود و در ادامه آموزش لازم را خواهم داد.

مشکل حروف فارسی در اکسل

اسکی کد چیست و معادل حروف فارسی در اکسل

برای هر حرف یک کد وجود دارد که مثلا معادل کد حرف “آ” عدد 1570 می شود و معادل حرف “ا” عدد 1575 یعنی چی ؟ با مثال توضیح می دهم.

در اکسل ما دو تابع داریم یکی تابع UNICHAR و دیگری تایع UNICODE که وقتی از تابع اول استفاده کنیم و آرگومان داخل آن را عدد 1570 قرار دهیم نتیجه حرف “آ” خواهد شد .

و برعکس اگر از تابع دوم استفاده کنیم و در آرگومان آن حرف “آ” را قرار دهیم ، نتیجه عدد 1570 خواهد شد .

خب این چه ربطی به مشکل حروف فارسی در اکسل دارد ؟

در استفاده عادی شاید خیلی اهمیت نداشته باشد ولی در قسمت کدنویسی VBA اهمیت بالایی دارد ، چرا که همانطور که در افزونه تبدیل عدد به حروف در ورد مشاهده کردید ، هر جا که من مستقیما از کلمه فارسی در کدنویسی استفاده کرده بودم نتیجه روی بعضی از سیستمها با وجود انجام تنظیمات مربوطه درست نبود .

استفاده از UNICODE برای حل مشکل حروف فارسی در اکسل

فرض کنید در محیط VBA میخواهیم کدی بنویسیم که یک پیغام فارسی نمایش دهد ، مثلا “سلام دنیا” را نمایش دهد .

روش اولی که میتوانیم بنویسیم :

    MsgBox "سلام دنيا ", vbMsgBoxRight + vbInformation, "آفيس باز"

این روش روشی است که خیلی از افراد از آن استفاده میکنند و مشکلی هم ندارد ، ولی اگر قرار باشد که برنامه شما در اختیار تعداد زیادی از افراد قرار بگیرد ، این احتمال وجود دارد که برخی از کاربران با نمایش حروف به هم ریخته مواجه شوند و این همان مشکل حروف فارسی در اکسل است که باید برطرف شود .

روش دوم :

    Dim strMsg As String
    Dim strMsgTitle As String
    
    strMsg = ChrW(1587) & ChrW(1604) & ChrW(1575) & ChrW(1605) & ChrW(32) & ChrW(1583) & ChrW(1606) & ChrW(1740) & ChrW(1575)
    strMsgTitle = ChrW(1570) & ChrW(1601) & ChrW(1740) & ChrW(1587) & ChrW(32) & ChrW(1576) & ChrW(1575) & ChrW(1586)
    
    MsgBox strMsg, vbMsgBoxRight + vbInformation, strMsgTitle

هر دو کد بالا نتیجه یکسان را نمایش می دهد ولی روش دوم در صورتی که تنظیمات ویندوز به درستی انجام شده باشد دیگر به صورت حروف به هم ریخته نمایش نخواهد داد چرا که از تابع chrw در آن استفاده شده است.

چگونه کلمه را تبدیل به ASCII کنیم ؟

یک فایل اکسل آماده کرده ام که در ادامه برای دانلود رایگان قرار داده ام و به راحی کافیت که کلمه یا جمله خود را بنویسید و معادل حروف فارسی در اکسل را تحویل بگیرید .

برای درک بهتر کافیست تصویر زیر را ببینید.

مشکل حروف فارسی در اکسل

مشاهده ویدیو اول این مطلب آموزشی از آفیس باز به شما در درک بهتر موضوع کمک خواهد کرد ، اگر سوال یا ابهامی داشتید در قسمت نظرات مطرح نمائید.

 

3.4/5 - (9 امتیاز)
پیشنهاد آفیس باز

تمام آموزشهای اکسل بیش از 300 ویدیو و پروژه و فایل و تمرین به شکل گروه بندی شده و مرتب ...

باکس دانلود

رایگان دانلود کنید😊

یادگیری اصولی اکسل !

تمام آموزشهای اکسل در قالب یک برنامه آموزشی با بیش از 300 ویدیو و پروژه و فایل و تمرین به شکل گروه بندی شده و مرتب که کاملا مسیر یادگیری اکسل را برای شما هموار می کنید .

دنبال کردن
اطلاع رسانی به

0 نظرات
پر امتیاز ترین
جدیدترین قدیمی ترین
Inline Feedbacks
مشاهده همه دیدگاهها

دانلود رایگان !!

لطفا شماره موبایلی وارد کنید که روی آن واتس اپ دارید !!

بهتر است که شماره موبایل با واتس اپ فعال وارد کنید و از اخبار و تخفیف ها هم با خبر شوید ، در غیر اینصورت می توانید آدرس ایمیل وارد نمائید.

happy holidays

we want to hear from you

https://dl.officebaz.ir/free/OfficebazUnicode.zip