วิธีการจัดการเหตุการณ์ PowerPoint โดยใช้ Visual Basic .NET 2003

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 824021 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

บทนำ

บทความนี้อธิบายวิธีการจัดการเหตุการณ์ของ Microsoft Office PowerPoint จากไคลเอนต์ทำงานอัตโนมัติที่พัฒนาขึ้น โดยใช้ Microsoft Visual Basic .NET 2003

สร้างการจัดการเหตุการณ์

คุณสามารถใช้อย่างใดอย่างหนึ่งในวิธีการต่อไปนี้เพื่อสร้างตัวจัดการเหตุการณ์ที่ โดยใช้ Visual Basic .NET วิธีการที่คุณเลือกขึ้นอยู่กับวิธีการที่คุณต้องการเชื่อมโยงการจัดการเหตุการณ์กับเหตุการณ์
  • วิธีที่ 1:

    โดยทั่วไป คุณสร้างตัวจัดการเหตุการณ์ที่ โดยใช้การจัดการคำสำคัญด้วยwitheventsคำสำคัญ เมื่อคุณกำหนดตัวแปรที่อ้างอิงของวัตถุ โดยใช้การwitheventsคำสำคัญ Visual Basic .NET เชื่อมต่อเข้ากับเหตุการณ์ของวัตถุโดยอัตโนมัติในขณะดำเนินการ เมื่อต้องการจัดการเหตุการณ์ที่ระบุสำหรับวัตถุ เพิ่มตัวจัดการที่เกี่ยวข้อง โดยใช้การคลาสรายชื่อ และวิธีการรายการของสภาพแวดล้อมของ Visual Studio .NET ในขณะที่คุณอยู่ในรหัสมุมมอง
  • วิธีที่ 2

    visual Basic .NET แสดงวิธีอื่นในการจัดการเหตุการณ์ คุณสามารถใช้ได้AddHandlerคำสั่ง และฟิลด์RemoveHandlerคำสั่งเพื่อให้คุณสามารถเริ่มการทำงานแบบไดนามิก และแบบไดนามิกหยุดการจัดการเหตุการณ์สำหรับเหตุการณ์ที่ระบุ

    หมายเหตุ:ถ้าคุณใช้การwitheventsคำสำคัญในการสร้างตัวจัดการเหตุการณ์ คุณอาจได้รับการSystem.Reflection.TargetInvocationExceptionข้อยกเว้น ดังนั้น ใช้AddHandlerเหตุการณ์การสร้างตัวจัดการเหตุการณ์ที่

สร้างไคลเอ็นต์ของ Visual Basic .NET Automation ที่จัดการกับเหตุการณ์ของ PowerPoint

ตั้งค่าต่อไปนี้ของขั้นตอนที่แสดงวิธีใช้นี้AddHandlerรายงานการจัดการเหตุการณ์ของโปรแกรมประยุกต์ PowerPoint จากไคลเอนต์ทำงานอัตโนมัติที่พัฒนาขึ้น โดยใช้ Visual Basic .NET

เมื่อต้องการสร้างโครงการ Visual Basic .NET ดำเนินการดังต่อไปนี้:
  1. เริ่ม Microsoft Visual Studio .NET 2003
  2. ในการแฟ้ม:เมนู คลิกใหม่แล้ว คลิกProject.
  3. ในการชนิดโครงการรายการ คลิกโครงการ visual Basic. ในการแม่แบบรายการ คลิกแอพลิเคชันของ windows.
  4. ชื่อโครงการ PowerPointEvents และจากนั้น คลิกตกลง.

    โดยค่าเริ่มต้น แบบฟอร์มที่มีชื่อ Form1 ถูกสร้างขึ้น
เมื่อต้องการเพิ่มการอ้างอิงไป ยังไลบรา รีวัตถุ Microsoft PowerPoint และ ในไลบรา รีวัตถุ Microsoft Graph ดำเนินการดังต่อไปนี้:
  1. ในการProjectเมนู คลิกเพิ่มการอ้างอิง.
  2. ในการcomแท็บ คลิอย่างใดอย่างหนึ่งต่อไปนี้ และคลิกเลือก:
    • สำหรับ Microsoft Office PowerPoint 2007 คลิกการไลบรารีวัตถุ Microsoft PowerPoint 12.0.
    • สำหรับ Microsoft Office PowerPoint 2003 คลิกการไลบรารีวัตถุ Microsoft PowerPoint 11.0.
  3. ในการcomแท็บ คลิอย่างใดอย่างหนึ่งต่อไปนี้ และคลิกเลือก:
    • สำหรับ 12.0 กราฟของ Microsoft คลิกการไลบรารีวัตถุ Microsoft Graph 12.0.
    • สำหรับ 11.0 กราฟของ Microsoft คลิกการไลบรารีวัตถุ Microsoft Graph 11.0.
  4. ในการเพิ่มการอ้างอิงกล่องโต้ตอบ คลิกตกลงเมื่อต้องการยอมรับการเลือกของคุณ
  5. คลิกสองครั้งที่รูปแบบ

    หน้าต่างรหัสเปิดขึ้น
  6. ที่ด้านบนของไฟล์ Form1.vb เพิ่มรหัสต่อไปนี้:
    	Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
    	Imports Office = Microsoft.Office.Core
    	Imports Graph = Microsoft.Office.Interop.Graph
    
  7. ในการมุมมองเมนู คลิกตัวออกแบบ.
  8. ในการมุมมองเมนู คลิกกล่องเครื่องมือแล้ว เพิ่มปุ่มไป Form1
  9. คลิกสองครั้งbutton1.

    หน้าต่างรหัสเปิดขึ้นในการButton1_Clickเหตุการณ์
  10. ในหน้าต่างรหัส วางรหัสต่อไปนี้ก่อนButton1_Clickเหตุการณ์:
    	Dim oApp As PowerPoint.Application
    	Dim oPres As PowerPoint.Presentation
    
  11. เพิ่มรหัสต่อไปนี้ไปButton1_Clickเหตุการณ์:
    	Const sTemplate = "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Orbit.pot"
            ' If the previous template is not available, change the template name to a template name that is on your system.
            Const sVideo = "C:\WINDOWS\system32\oobe\images\intro.wmv"
    
            Dim oPresentations As PowerPoint.Presentations
            Dim oSlides As PowerPoint.Slides
            Dim oSlide As PowerPoint.Slide
            Dim oShapes As PowerPoint.Shapes
            Dim oShape As PowerPoint.Shape
            Dim oMovie As PowerPoint.Shape
            Dim oAnimationSettings As PowerPoint.AnimationSettings
            Dim oPlaySettings As PowerPoint.PlaySettings
            Dim oTextFrame As PowerPoint.TextFrame
            Dim oTextRange As PowerPoint.TextRange
            Dim oFont As PowerPoint.Font
            Dim oOLEFormat As PowerPoint.OLEFormat
            Dim oShadow As PowerPoint.ShadowFormat
            Dim oForeColor As PowerPoint.ColorFormat
            Dim oRange As PowerPoint.SlideRange
            Dim oSlideShowTransition As PowerPoint.SlideShowTransition
    
            'Start PowerPoint and then make the PowerPoint window visible but minimized.
            oApp = New PowerPoint.Application
    
            'Add event handlers.
            AddHandler oApp.SlideShowBegin, AddressOf oApp_SlideShowBegin
            AddHandler oApp.SlideShowNextSlide, AddressOf oApp_SlideShowNextSlide
            AddHandler oApp.PresentationClose, AddressOf oApp_PresentationClose
    
            oApp.Visible = True
            oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized
    
            'Create a new presentation that is based on the specified template.
            oPresentations = oApp.Presentations
            oPres = oPresentations.Open(sTemplate, , , True)
    
            'Build slide 1.
            'Add text to the slide, change the font, and then insert or position a 
            'movie on the first slide.
            oSlides = oPres.Slides
            oSlide = oSlides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
            oShapes = oSlide.Shapes
            oShape = oShapes.Item(1)
            oTextFrame = oShape.TextFrame
            oTextRange = oTextFrame.TextRange
            oTextRange.Text = "My sample presentation"
            oFont = oTextRange.Font
            oFont.Name = "Comic Sans MS"
            oFont.Size = 48
    
            oMovie = oShapes.AddMediaObject(sVideo, 150, 150, 500, 350)
            oAnimationSettings = oMovie.AnimationSettings
            oPlaySettings = oAnimationSettings.PlaySettings
            oPlaySettings.PlayOnEntry = True
            oPlaySettings.HideWhileNotPlaying = True
    
            'NAR to release references.
            NAR(oPlaySettings)
            NAR(oAnimationSettings)
            NAR(oMovie)
            NAR(oFont)
            NAR(oTextRange)
            NAR(oTextFrame)
            NAR(oShape)
            NAR(oShapes)
            NAR(oSlide)
            NAR(oSlides)
    
            'Build slide 2.
            'Add text to the slide title and then format the text. Also, add a chart to the
            'slide and then change the chart type to a 3D Column Clustered.
            oSlides = oPres.Slides
            oSlide = oSlides.Add(2, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
            oShapes = oSlide.Shapes
            oShape = oShapes.Item(1)
            oTextFrame = oShape.TextFrame
            oTextRange = oTextFrame.TextRange
            oTextRange.Text = "My chart"
            oFont = oTextRange.Font
            oFont.Name = "Comic Sans MS"
            oFont.Size = 48
    
            Dim oChart As Graph.Chart
            oShape = oShapes.AddOLEObject(150, 150, 480, 320, "MSGraph.Chart.8")
            oOLEFormat = oShape.OLEFormat
            oChart = oOLEFormat.Object
            oChart.ChartType = Graph.XlChartType.xl3DColumnClustered
    
            'NAR to release references.
            NAR(oChart)
            NAR(oOLEFormat)
            NAR(oFont)
            NAR(oTextRange)
            NAR(oTextFrame)
            NAR(oShape)
            NAR(oShapes)
            NAR(oSlide)
            NAR(oSlides)
    
    
            'Build slide 3.
            'Add a text effect to the slide and then apply shadows to the text effect.
            oSlides = oPres.Slides
            oSlide = oSlides.Add(3, PowerPoint.PpSlideLayout.ppLayoutBlank)
            oSlide.FollowMasterBackground = False
            oShapes = oSlide.Shapes
            oShape = oShapes.AddTextEffect(Office.MsoPresetTextEffect.msoTextEffect27, _
                "The End", "Impact", 96, False, False, 230, 200)
    
            oShadow = oShape.Shadow
            oForeColor = oShadow.ForeColor
            oForeColor.SchemeColor = PowerPoint.PpColorSchemeIndex.ppForeground
            oShadow.Visible = True
            oShadow.OffsetX = 3
            oShadow.OffsetY = 3
    
            'NAR to release references.
            NAR(oShadow)
            NAR(oForeColor)
            NAR(oShape)
            NAR(oShapes)
            NAR(oSlide)
            NAR(oSlides)
    
    
            'Modify the slide show transition settings for all three slides in
            'the presentation.
            Dim SlideIdx(3) As Integer
            SlideIdx(0) = 1
            SlideIdx(1) = 2
            SlideIdx(2) = 3
    
            oSlides = oPres.Slides
            oRange = oSlides.Range(SlideIdx)
            oSlideShowTransition = oRange.SlideShowTransition
            oSlideShowTransition.AdvanceOnTime = False
            oSlideShowTransition.EntryEffect = PowerPoint.PpEntryEffect.ppEffectBoxOut
    
    
            'Run the slide show in a separate method.
            RunSlideShow()
    
            'NAR to release references.
            NAR(oSlideShowTransition)
            NAR(oRange)
            NAR(oSlides)
    
            'Close the presentation without saving changes and then quit PowerPoint.
            oPres.Saved = True
            oPres.Close()
    
            'NAR the presentation objects.
            NAR(oPres)
            NAR(oPresentations)
    
            'Remove all event handlers.
            RemoveHandler oApp.SlideShowBegin, AddressOf oApp_SlideShowBegin
            RemoveHandler oApp.SlideShowNextSlide, AddressOf oApp_SlideShowNextSlide
            RemoveHandler oApp.PresentationClose, AddressOf oApp_PresentationClose
    
            'Quit PowerPoint.
            oApp.Quit()
            NAR(oApp)
    
            GC.Collect()
    
  12. ในหน้าต่างรหัส วางรหัสต่อไปนี้ด้านล่างนี้Button1_Clickเหตุการณ์:
    	Private Sub RunSlideShow()
                Dim oSettings As PowerPoint.SlideShowSettings
    	    Dim oSlideShowWindows As PowerPoint.SlideShowWindows
    
    	    oSettings = oPres.SlideShowSettings
    	    oSettings.StartingSlide = 1
           	    oSettings.EndingSlide = 3
    
                'Run the slide show. Wait for the slide show to finish.
                oSettings.Run()
    
                oSlideShowWindows = oApp.SlideShowWindows
    
                On Error Resume Next
                Do While oSlideShowWindows.Count >= 1
    	        System.Windows.Forms.Application.DoEvents()
           	    Loop
    
    	    NAR(oSlideShowWindows)
                NAR(oSettings)
    	End Sub
    
        	'NAR function to remove reference.
       	Private Sub NAR(ByVal o As Object)
                Try
    	        System.Runtime.InteropServices.Marshal.ReleaseComObject(o)
                Catch
                Finally
                    o = Nothing
                End Try
        	End Sub
    
  13. เพิ่มตัวจัดการเหตุการณ์ต่อไปนี้ภายใต้รหัสก่อนหน้านี้:
    	'Event Handlers
    
        	Private Sub oApp_SlideShowBegin(ByVal Wn As Microsoft.Office.Interop.PowerPoint.SlideShowWindow)
                'Change the position and the size of the slide show window.
                Dim oView As PowerPoint.SlideShowView
    
                With Wn
                    .Height = 325
                    .Width = 400
                    .Left = 100
                    .Activate()
                End With
    
               'Start the movie at the first slide.
                oView = Wn.View
                oView.Next()
    
                NAR(oView)
                NAR(Wn)
        	End Sub
    
        	Private Sub oApp_SlideShowNextSlide(ByVal Wn As Microsoft.Office.Interop.PowerPoint.SlideShowWindow)
                'Change the color and the type of pointer depending on the slide.
                Dim Showpos As Integer
                Dim oView As PowerPoint.SlideShowView
                Dim oColorFormat As PowerPoint.ColorFormat
    
                oView = Wn.View
                Showpos = oView.CurrentShowPosition + 1
    
                If Showpos = 3 Then
                    oColorFormat = oView.PointerColor
                    oColorFormat.RGB = RGB(255, 0, 0)
                    oView.PointerType = PowerPoint.PpSlideShowPointerType.ppSlideShowPointerPen
                Else
                    oColorFormat = oView.PointerColor
                    oColorFormat.RGB = RGB(0, 0, 0)
                    oView.PointerType = PowerPoint.PpSlideShowPointerType.ppSlideShowPointerArrow
                End If
    
                NAR(oColorFormat)
                NAR(oView)
                NAR(Wn)
        	End Sub
    
        	Private Sub oApp_PresentationClose(ByVal Pres As Microsoft.Office.Interop.PowerPoint.Presentation)
                'Before you close the presentation, save the presentation as HTML.
                Pres.SaveAs("C:\TestEvents.htm", PowerPoint.PpSaveAsFileType.ppSaveAsHTML)
                NAR(Pres)
        	End Sub
    

ลองหา

  1. กด F5 เพื่อเรียกใช้โปรแกรมประยุกต์
  2. คลิกbutton1.

    PowerPoint เริ่มการนำเสนอภาพนิ่ง แจ้งเตือนต่อไปนี้:
    • ภาพนิ่งแรกเริ่มต้นภาพยนตร์
    • เปลี่ยนแปลงชนิดของตัวชี้
    • เปลี่ยนสีบนภาพนิ่งที่สองที่มีแผนภูมิ
  3. ปิดงานนำเสนอ

ข้อมูลอ้างอิง

หากต้องการทราบข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base::
308330วิธีการจัดการเหตุการณ์ PowerPoint 2002 โดยใช้ Visual Basic .NET 2002
254009PowerPoint 2000 เหตุการณ์สาธิตสามารถดาวน์โหลดได้
303717วิธีการใช้การดำเนินการอัตโนมัติ เพื่อสร้าง และแสดงงานนำเสนอ PowerPoint 2002 หรือการนำเสนอ Office PowerPoint 2003 โดยใช้ Visual Basic .NET 2002 หรือ Visual Basic .NET 2003
823996PIA ไม่พบเมื่อคุณทำการอ้างอิงในไลบรารีชนิด Office ใน Visual Studio .NET

คุณสมบัติ

หมายเลขบทความ (Article ID): 824021 - รีวิวครั้งสุดท้าย: 6 ตุลาคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Office PowerPoint 2007
  • Microsoft Office PowerPoint 2003
  • Microsoft Visual Basic .NET 2003 Standard Edition
Keywords: 
kbexpertiseinter kbhowtomaster kbautomation kbmt KB824021 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:824021

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com