TPE

http://bayanbox.ir/view/263405954590585756/2mobile.png

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

http://bayanbox.ir/view/824770981097609105/demo.png