TPE
Tavvafi@gmail.com |
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
اگر قصد دارید از کاراکترهای خاص در یک اسلاید استفاده کنید، می توانید از قسمت Symbol استفاه کنید، در این بخش قصد داریم استفاه از ماکروها را در اعمال درج کاراکترهای خاص مورد بررسی قرار دهیم.
همانطور که احتمالا می دانید یکی از راههای درج کاراکترهای خاص توسط صفحه کلید استفاده از کلی Alt است به این ترتیب می توان همزمان با نگهاشتن کلید Alt و درج شماره کاراکتر ، از قرار دادن کاراکتر ها در متون بهره جست. "Keystroke: Alt + xxx"
مثلا:Alt + 0173
ویزوال بیسیک برای مدیریت کاراکترها از دو تابع معروف ()chr و ()asc استفاده می کند، این موضوع با توابع ()chrB و ()chrW و ()ascB و ()ascW توسعه بیشتری نیز یافته است.
و توابع ()chr کارکتر را به شما تحویل می دهند و و توابع ()asc کد کاراکتری را به شما تحویل میدهند ، به عنوان مثال : (65)chr عبارت A را باز خواهد گرداند. و ("asc("A، مقدار 65 را برمی گرداند.
تابع ASC عددی بین 0 تا 255 را باز می گرداند، در مورد کارکترهای جدید که به عناوین (DBCS) و (Unicode) این تابع کاربردی نخواهد داشت.
کاراکترهای Ascii موسوم به (SBCS) یا (single-byte character ) کدهایی بین 0 تا 255 اشته اند.
کاراکترهای جدید از این تعداد بسیار بیشتر هستند، کاراکترهای Ascii موسوم به (DBCS) یا (double-byte character ) کدهایی بین 32767- تا 32768+ دارند که به این ترتیب تعداد آنها (65536) کاراکتر خواهد شد.
به همین دلیل توابع ()chrB و ()chrW و ()ascB و ()ascW ارائه شده اند تا در مدیریت کارکترها محدودیتی پدید نیاید.
اکنون به این مثال توجه کنید:
ابتدا یک اسلاید با سه TextArea درست کنید: و ماکروی زیر را تولید و اجرا کنید:
Sub setchartoshapes()
MsgBox Chr(237), , "237"
MsgBox ChrW(1740), , "1740"
MsgBox ChrW(1610), , "1610"
ActivePresentation.Slides(1).Shapes(1).TextFrame2.TextRange.Text = ChrW(1610)
ActivePresentation.Slides(1).Shapes(2).TextFrame2.TextRange.Text = ChrW(1740)
ActivePresentation.Slides(1).Shapes(3).TextFrame2.TextRange.Text = Chr(237)
End Sub
این سه کارکتر ر اعداد 237 و 1740 و 1610 هر سه به یک معنی اما ماهیتی متفاوت دارند دو کاراکتر 237 و 1640 "ی" دو نقطه عربی، و کاراکتر 1740، "ی" فارسی را به نمایش می گذارد.
VBA6 , VBA7 هر دو توانایی نمایش کاراکتر 1740 را در باکس Msgbox ندارند، اما از آنجا که پاورپوینت ساختاری unicode دارد می تواند بین هر سه کارکتر اختلاف قائل شده و آنها را بدرستی از هم متمایز کند.
تمایز این حروف اگر چه می تواند برای نمایش بهتر کارکترها موثر باشد، اما می تواند دست و پا گیر هم باشد، هنگامی که عبارتی را از کاربر دریافت می کنید، همین تمایز می تواند موجب شود تا رایانه نتواند در تصمیم گیری های خود موثر عمل کند، بخصوص هنگامی که می خواهید عبارتی را درون عبارت دیگری جستجو کنید.