TPE
Tavvafi@gmail.com |
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
در این نمونه با یک فایل Powerpoint روبرو خواهید بود که در آن ارتفاع چهار نمودار با تغییر شمارنده، تغییر خواهد کرد، می توانید خودتان بررسی کنید:
دانلود نمونه پاورپوینت.
دانلود فایل حفاظت شده ی پاورپوینت با TPE
توضیحات:
برای بررسی توضیحات ابتدا فایل http://bayanbox.ir/download/8413924915874858926/PresentationChart.pptm را دانلود کنید.
- این فایل حفاظت شده نیست.
- ما می توانستیم این فایل را به فرمت ppsm درآوریم و به حالت کیوسک وارد کنیم، اما برای توضیح بیشتر اینکار را نکرده ایم.
- وارد نرم افزار پاورپوینت(Power point) شوید و این فایل را (که اکنون ر رایانه خود شما است باز کنید- بهتر است این فایل را در دسکتاپ رایانه خود قرار دهید) باز کنید.
- اگر بخش اجرای ماکرو در Powerpoint محدود شده است آنرا نامحدود کنید.
- اکنون کلید Alt+F10 را بزنید به این ترتیب لیستی از Object هایی که در اسلاید وجود دارد را سمت راست پنجره Powerpoint خواهید دید.
- مهمترین عناصر موجود در اسلاید این چند عنصر هستند:
- Taxtbox1
- SpinButton1
- Col1
- VBaseline
- HBaseline
اگر در لیست روی این اسامی کلیک کنید در اسلاید فعال، و نمایش داده خواهند شد.
- ابتدا یکبار این پاورپوینت را اجرا کنید:
- برای تغییر اعداد زیر هر ستون با کیلک روی فلش های بالا و پایین اعداد می توانید اعداد را تغییر دهید.
- با تغییر اعداد ارتفاع ستون های کاهش یا افزایش پیدا می کند.
- با زدن کلید Esc به صفحه اصلی پاورپورینت باز گردید.
- اکنون کلید Alt+F11 را بزنید به این ترتیب وارد بخش برنامه نویسی پاورپوینت (VBA) خواهید شد، مجموعه کدها و ماکروهایی که منجر به بروز چنین شرایطی در این اسلاید می شود را خواهید دید.
- همانطور که گفته شد هیچ گونه حفاظتی برای این فایل لحاظ نشده است.
لیست و محتوای کدها به شرح زیر است:
کدهای موجود در Slide1:
Private Sub SpinButton1_Change() TextBox1.Value = SpinButton1.Value set_cols End Sub Private Sub SpinButton2_Change() TextBox2.Value = SpinButton2.Value set_cols End Sub Private Sub SpinButton3_Change() TextBox3.Value = SpinButton3.Value set_cols End Sub Private Sub SpinButton4_Change() TextBox4.Value = SpinButton4.Value set_cols End Sub
همانطور که مشاهده می کنید یا کلیک بر روی هر SpinButton، کدی اجرا می شود که مقدار این کنترلر را در تکست باکس TextBox، قرار می دهد.
سپس تابعی به نام set_cols، فراخوانی می شود.
این تابع در بخش بعدی توضیح داده خواهد شد.
کدهای موجود در Module1:
Sub set_cols() With Presentations(1).Slides(1) Max = .Shapes("VBaseline").Height Min = .Shapes("HBaseline").Top V1 = Slide1.TextBox1 With .Shapes("Col1") .Height = V1 * Max / 100 .Top = Min - .Height End With V2 = Slide1.TextBox2 With .Shapes("Col2") .Height = V2 * Max / 100 .Top = Min - .Height End With V3 = Slide1.TextBox3 With .Shapes("Col3") .Height = V3 * Max / 100 .Top = Min - .Height End With V4 = Slide1.TextBox4 With .Shapes("Col4") .Height = V4 * Max / 100 .Top = Min - .Height End With End With End Sub Sub Exiter() Application.Quit End Sub
اگر یکی از بخش های تابع را توضیح دهیم بقیه بخش ها هم به همین صورت توضیح داده می شود:
در این بخش به پاورپوینت گفته ایم، ما می خواهیم بر روی اسلاید1 از پرزنتیشن 1 کار کنیم یعنی همین اسلایدی که هماکنون دید |
With Presentations(1).Slides(1) |
در اینجا گفته ایم که مقدار ارتفاع خط عمودی آبی رنگ را به عنوان بیشترین مقدار در نظر بگیر چون قرار است ارتفاع ستون ها به صورت درصدی از ارتفاع خط عمودی باشد، به ارتفاع این خط نیاز داریم |
Max = .Shapes("VBaseline").Height |
در اینجا گفته ایم که مختصات بالای خط افقی آبی رنگ را به عنوان کمترین مقدار در نظر بگیر چون قرار است همه ستون ها از پایین به بالا باشند به مختصات پایین ترین نقطه قرار گرفتن ستون ها نیاز داریم. |
Min = .Shapes("HBaseline").Top |
اکنون متغییری به نام V1 در نظر می گیرم و مقدارTextBox1 ، در آن قرار می دهیم. |
V1 = Slide1.TextBox1 |
در این بخش به پاورپوینت گفته ایم، ما می خواهیم بر روی ستونی که به نام Col1 نامگذاری کرده ایم کار کنیم همانطور که دید این نامگذاری را قبلا در خود اسلاید با زدن کلید Alt+F10 انجام داده بودیم. |
With .Shapes("Col1") |
در این بخش از طریق محاسبات معمولی ارتفاع ستون و محل قرار گیری آنرا تعیین کرده ایم. |
.Height = V1 * Max / 100 .Top = Min - .Height |
برای دریافت توضیحات بیشتر می تونید با من مکاتبه کنید: Tavvafi@gmail.com