PDA

View Full Version : سوال: درهم شدن متن فارسی در کد VBA



Appolo
دوشنبه 20 مهر 1388, 23:51 عصر
با سلام
من در کد VBA اکسس سعی کردم یک مسج باکس با نوشته فارسی بذارم اما هر چی فارسی می نوشتم در داخل ویرایشگر ویژوال بیسیک درهم میشد.
از توی تنظیمات فونت ویرایشگر رو به Arial تغییر دادم که دیگه می تونستم در آن فارسی بنویسم و ببینم. اما همچنان مشکل پابرجاست. در هنگام اجرای کد نوشته های فارسی به هم میریزند. مثلا کد زیر:


MsgBox("آیا مطمئن هستید؟", vbYesNo + vbMsgBoxRight + vbQuestion, "توجه")

به

MsgBox("ÂíÇ ÞÕÏ ÐÎíÑå ÇØáÇÚÇÊ æÇÑÏ ÔÏå ÑÇ ÏÇÑíÏ¿", vbYesNo + vbMsgBoxRight + vbQuestion, "ÊæÌå")

تبدیل می شود و یک مسج باکس ناخوانا می آید.

خیلی ممنون میشوم اگر راه حلی برای حل این مشکل پیشنهاد کنید.

h_arman
سه شنبه 21 مهر 1388, 07:19 صبح
سلام دوست عزیز
برای حل این مشکل به Regional and Language Options بروید و در تب آخر یعنی Advanced زبان را از انگلیسی به فارسی تغییر داده و در پاسخ به ریست کردن جواب مثبت دهید

Appolo
سه شنبه 21 مهر 1388, 10:01 صبح
تشکر،
مشکل روی سیستم خودم حل شد، اما روی سیستم هایی که قرار است بانک روی آن اجرا شود زبان باید حتما انگلیسی باشد چون در صورت تغییر برخی برنامه های دیگرشان به هم میریزد. آیا راه حل دیگری نیست؟

amirzazadeh
سه شنبه 21 مهر 1388, 11:32 صبح
تشکر،
مشکل روی سیستم خودم حل شد، اما روی سیستم هایی که قرار است بانک روی آن اجرا شود زبان باید حتما انگلیسی باشد چون در صورت تغییر برخی برنامه های دیگرشان به هم میریزد. آیا راه حل دیگری نیست؟


به عنوان روش دوم ميتونين از يك فرم سفارشي به جاي مسيج باكس استفاده كنين كه پيام مورد نظر به شكل تصوير در روي اون آورده بشه اينجوري ديگه فونت ها به هم نمي ريزه.
..........................
موفق باشيد

Appolo
سه شنبه 21 مهر 1388, 12:00 عصر
سلام
استفاده از تصاویر به جای هر پیام فارسی چندان راحت نیست، اگرچه ایده خوبی است. همینطور مشکل فقط نمایش مسج باکس نیست، خیلی جاها کد با متن فارسی سر و کار داره که مثلا باید متن یک تکست باکس رو ست کنه.

آیا راه حل دیگری هم وجود دارد؟
مثلا کاری کنیم که اکسس از همه جا از یونیکد پشتیبانی کند.

Appolo
چهارشنبه 22 مهر 1388, 14:47 عصر
یعنی واقعا راه حل دیگه ای وجود نداره؟!!!

hmariya
چهارشنبه 16 دی 1388, 23:43 عصر
کسی راه حل دیگه ای سراغ نداره؟ اصلا تو پنجره VBA تنظیمات نباید انجام شه؟

look20
پنج شنبه 17 دی 1388, 18:28 عصر
با سلام يه نرم افزاره كه امتحان كنيد:
http://www.box.net/index.php?rm=box_v2_download_shared_file&file_id=f_16032707
البته نميدونم ميتونه كمكتون بكنه يا نه!؟

Alirezanet
جمعه 18 دی 1388, 17:07 عصر
از فونت های فارسی استفاده کنید اینجوری فقط احتیاج هست که سیستم کاربر از زبان فارسی استفاده کنه و فونت مورد نظرتون رو داشته باشه .
ولی یه مقدار کار سخت میشه چون تمام فونت ها (از صفحه طراحی Vba گرفته تا کنترل ها باید از همون فرم استفاده کنند . ) من خودم از Tahoma قبلا توی چند نرم افزار استفاده کردم هم در اکسس و هم در ... مشکلی نبود .
فقط باید بگم که شما باید کدنویسی بلد باشین تا بتونین 1 کلاس برای Msgbox بنویسین.

Dr.Bronx
یک شنبه 20 دی 1388, 18:12 عصر
شما از Curier New با اسکریپت Arabic استفاده کنید مشکلی نداره
هم فارسی رو پشتیبانی می کنه هم انگلیسی.

موفق باشید /

kavehm13
چهارشنبه 24 مهر 1398, 19:03 عصر
سلام
میشه بیشتر توضیح بدی؟