PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : اصلاح حرف ی در عنوان label



aty313
2015/03/17, 21:49
با سلام خدمت اساتید محترم
برای حل مشکل حروف فارسی از این سایت یاد گرفتم از کد اسکی استفاده کنم. اما اگر بخواهم caption یک label که بر روی userform طراحی شده را نیز با کد اسکی وارد کنم باید چیکار کنم؟

Ali Parsaei
2015/03/17, 23:19
سلام،
دقيقا" متوجه نمي شوم منظورتان چيست؟!:confused:
ببينيد، تا آنجا که من بيسواد مي دانم براي تعريف (ايجاد) کاراکترها در کامپيوتر از دو نوع کد دهي استفاده مي شود،
ascii و unicode
کاراکتر هايي هستند که در هر دو سيستم ascii و unicode تعريف شده اند. ولي کاراکترهايي هستند که فقط به صورت unicode تعريف شده اند. ظاهرا" vba از سيستم کد دهي unicode پشتيباني نمي کند، به همين خاطر اگر کاراکترهايي که فقط به صورت unicode تعريف شده اند را وارد محيط vba نماييم براي VBA ناشناخته بوده و آنها را به صورت علامت سوال (?) نشان خواهد داد.
بنابراين کار خاصي نبايد بکنيد!، بلکه شما مجبوريد از کاراکترهايي که کد دهي اسکي دارند استفاده کنيد و اگر کد کاراکتر اشتباه باشد خود به خود به صورت "؟" نشان داده مي شود و مي فهميد که از کاراکتر اشتباهي استفاده کرده ايد. همين!
حال من نمي دانم دقيقا" مشکلتان چيست!؟ شايد هم من صورت مسئله را درست متوجه نشده ام!:confused:

aty313
2015/03/20, 10:28
با سلام و تشکر. من مشکل نوشتن در label فرم با مقدار دهی اولیه catption فرم در محیط vba با استفاده از کد اسکی حل کردم. اما الان در سلولهای اکسل نیز متن فارسی دارم که میخواهم آنها را یافته و اعداد جلویش را جمع بزنم اما استفاده از کد اسکی نیز مشکل را حل نکرد. فایل در پیوست موجود است دو ماکرو test1 و test2 دارد. اولی با انگلیسی عبارات درست کار کرده و با فارسی اشتباه. لطفا مرا راهنمایی کنید.

abootorab
2015/03/20, 11:24
با سلام و تشکر. من مشکل نوشتن در label فرم با مقدار دهی اولیه catption فرم در محیط vba با استفاده از کد اسکی حل کردم. اما الان در سلولهای اکسل نیز متن فارسی دارم که میخواهم آنها را یافته و اعداد جلویش را جمع بزنم اما استفاده از کد اسکی نیز مشکل را حل نکرد. فایل در پیوست موجود است دو ماکرو test1 و test2 دارد. اولی با انگلیسی عبارات درست کار کرده و با فارسی اشتباه. لطفا مرا راهنمایی کنید.

با درود
دوست عزیز احتمالا در ماکرو test2 با تغییر کد اسکی به 63 مشکل شما حل میشه، اگر حل نشد پیشنهاد میدم شما ابتدا در یک سلول حرف "ی" رو تایپ کنید و در سلول دیگه با فرمول CODE، کد اسکی حرف "ی" در زمان تایپ رو بدست بیارین و سپس در ماکرو test2 کد اسکی حرف "ی" رو در تابع Chr وارد کنید.
تو سیستم بنده با تغییر کد اسکی 237 به 63 در ماکرو test2 مشکل حل شد.

aty313
2015/03/20, 18:11
با تشکر از جواب شما. مشکلم در این فایل حل شد. اما من برای تولید کد اسکی از فایل زیر که از همین سایت دانلود کردم استفاده می کنم. چرا کد تولیدی حرف "ی" با این کد فرق دارد و آیا حرف دیگری نیز مشکل دار هست؟ و آیا روش بهتری برای تولید کد اسکی وجود دارد؟ با تشکر

Ali Parsaei
2015/03/20, 21:44
دوستان 63 کد اسکي حرف "ى" نيست
تمام حروفي که کد نويسي آنها UNICODE هست و در سيستم اسکي تعريف نشده اند را اگر با تابع CODE اعتبار سنجي نماييد تابع کد 63 را برمي گرداند
به عبارتي آن مدل حرف "ى" که کد 63 را بر مي گرداند اصولا" جزو حروف ناشناخته محسوب مي گردد.
اين لينک را هم يک نگاهي بياندازيد: اصلاح حرف ي فارسي (http://forum.exceliran.com/showthread.php/3624-%D8%A7%D8%B5%D9%84%D8%A7%D8%AD-%D8%AD%D8%B1%D9%81-%D9%8A-%D9%81%D8%A7%D8%B1%D8%B3%D9%8A)
من دارم سعي مي کنم يک مطلب جامع تر راجع به حرف "ي" در سايت قرار دهم، اگر نوشتم لينکش را برايتان مي گذارم.