Visual Basic .NET 2002 または Visual Basic .NET 2003 でオートメーションを使用して PowerPoint 2002 プレゼンテーションまたは Office PowerPoint 2003 プレゼンテーションの作成および表示を行う方法

文書翻訳 文書翻訳
文書番号: 303717 - 対象製品
この記事は、以前は次の ID で公開されていました: JP303717
Microsoft Visual C# .NET については、次の資料を参照してください。303718
Microsoft Visual C++ .NET については、次の資料を参照してください。308336
すべて展開する | すべて折りたたむ

目次

概要

この資料では、Microsoft Visual Basic .NET 2002 または Visual Basic .NET 2003 でオートメーションを使用して、Microsoft PowerPoint 2002 プレゼンテーションまたは Microsoft Office PowerPoint 2003 プレゼンテーションを作成して表示する方法について説明します。

詳細

Microsoft PowerPoint 2002 および Microsoft Office PowerPoint 2003 用のオートメーション クライアントの作成

  1. Microsoft Visual Studio .NET 2002 または Visual Studio .NET 2003 を起動します。[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。[プロジェクトの種類] ボックスの一覧で [Visual Basic プロジェクト] をクリックし、[テンプレート] ボックスの一覧で [Windows アプリケーション] をクリックし、[OK] をクリックします。デフォルトで Form1 が作成されます。
  2. 次の手順に従って、Microsoft PowerPoint オブジェクト ライブラリと Microsoft Graph オブジェクト ライブラリへの参照を追加します。
    1. [プロジェクト] メニューの [参照の追加] をクリックします。
    2. [COM] タブの [Microsoft PowerPoint Object Library] をクリックし、[選択] をクリックします。次に [Microsoft Graph Object Library] をクリックし、[選択] をクリックします。

      : Microsoft Office 2003 には、プライマリ相互運用機能アセンブリ (PIA) が含まれています。Microsoft Office XP には PIA は含まれていませんが、ダウンロードできます。 Office XP の PIA の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
      328912 Microsoft Office XP 用の PIA (Primary Interop Assemblies) のダウンロード
    3. [参照の追加] ダイアログ ボックスで [OK] をクリックし、選択内容を確定します。
  3. [表示] メニューの [ツールボックス] をクリックしてツールボックスを表示し、Form1 にボタンを 1 つ追加します。
  4. [Button1] をダブルクリックします。フォームのコード ウィンドウが表示されます。
  5. コード ウィンドウで、次のコードを探します。
        Private Sub Button1_Click(ByVal sender As System.Object, _
            ByVal e As System.EventArgs) Handles Button1.Click
    
        End Sub
    					
    上記のコードを次のコードに置き換えます。
        Private Sub Button1_Click(ByVal sender As System.Object, _
            ByVal e As System.EventArgs) Handles Button1.Click
    
            Const sTemplate = _
               "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Blends.pot"
            Const sPic = "C:\WINNT\Soap Bubbles.bmp"
    
            Dim oApp As PowerPoint.Application
            Dim oPres As PowerPoint.Presentation
            Dim oSlide As PowerPoint.Slide
            Dim bAssistantOn As Boolean
    
            'Start Powerpoint and make its window visible but minimized.
            oApp = New PowerPoint.Application()
            oApp.Visible = True
            oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized
    
            'Create a new presentation based on the specified template.
            oPres = oApp.Presentations.Open(sTemplate, , , True)
    
            'Build Slide #1:
            'Add text to the slide, change the font and insert/position a 
            'picture on the first slide.
            oSlide = oPres.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
            With oSlide.Shapes.Item(1).TextFrame.TextRange
                .Text = "My Sample Presentation"
                .Font.Name = "Comic Sans MS"
                .Font.Size = 48
            End With
            oSlide.Shapes.AddPicture(sPic, False, True, 150, 150, 500, 350)
            oSlide = Nothing
    
            'Build Slide #2:
            'Add text to the slide title, format the text. Also add a chart to the
            'slide and change the chart type to a 3D pie chart.
            oSlide = oPres.Slides.Add(2, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
            With oSlide.Shapes.Item(1).TextFrame.TextRange
                .Text = "My Chart"
                .Font.Name = "Comic Sans MS"
                .Font.Size = 48
            End With
            Dim oChart As Graph.Chart
            oChart = oSlide.Shapes.AddOLEObject(150, 150, 480, 320, _
                        "MSGraph.Chart.8").OLEFormat.Object
            oChart.ChartType = Graph.XlChartType.xl3DPie
            oChart = Nothing
            oSlide = Nothing
    
            'Build Slide #3:
            'Add a text effect to the slide and apply shadows to the text effect.
            oSlide = oPres.Slides.Add(3, PowerPoint.PpSlideLayout.ppLayoutBlank)
            oSlide.FollowMasterBackground = False
            Dim oShape As PowerPoint.Shape
            oShape = oSlide.Shapes.AddTextEffect(Office.MsoPresetTextEffect.msoTextEffect27, _
                "The End", "Impact", 96, False, False, 230, 200)
            oShape.Shadow.ForeColor.SchemeColor = PowerPoint.PpColorSchemeIndex.ppForeground
            oShape.Shadow.Visible = True
            oShape.Shadow.OffsetX = 3
            oShape.Shadow.OffsetY = 3
            oShape = Nothing
            oSlide = Nothing
    
            'Modify the slide show transition settings for all 3 slides in
            'the presentation.
            Dim SlideIdx(3) As Integer
            SlideIdx(0) = 1
            SlideIdx(1) = 2
            SlideIdx(2) = 3
            With oPres.Slides.Range(SlideIdx).SlideShowTransition
                .AdvanceOnTime = True
                .AdvanceTime = 3
                .EntryEffect = PowerPoint.PpEntryEffect.ppEffectBoxOut
            End With
            Dim oSettings As PowerPoint.SlideShowSettings
            oSettings = oPres.SlideShowSettings
            oSettings.StartingSlide = 1
            oSettings.EndingSlide = 3
    
            'Prevent Office Assistant from displaying alert messages.
            bAssistantOn = oApp.Assistant.On
            oApp.Assistant.On = False
    
            'Run the slide show and wait for the slide show to end.
            oSettings.Run()
            Do While oApp.SlideShowWindows.Count >= 1
                System.Windows.Forms.Application.DoEvents()
            Loop
            oSettings = Nothing
    
            'Reenable Office Assisant, if it was on.
            If bAssistantOn Then
                oApp.Assistant.On = True
                oApp.Assistant.Visible = False
            End If
    
            'Close the presentation without saving changes and quit PowerPoint.
            oPres.Saved = True
            oPres.Close()
            oPres = Nothing
            oApp.Quit()
            oApp = Nothing
            GC.Collect()
        End Sub
    					
    : このコード内にある sTemplate 定数および sPic 定数はそれぞれ、PowerPoint テンプレートと画像の完全なパスとファイル名を表すものです。システムにインストールされているテンプレートと画像の場所に応じてパスを修正してください。
  6. Form1.vb ファイルの先頭に次のコードを追加します。
    Imports Office = Microsoft.Office.Core
    Imports Graph = Microsoft.Office.Interop.Graph
    					
  7. F5 キーを押してプログラムをビルドし、実行します。
  8. フォーム上の [Button1] をクリックすると、PowerPoint プレゼンテーションが表示されます。

関連情報

詳細については、次の MSDN (Microsoft Developer Network) Web サイトを参照してください。
http://msdn.microsoft.com/library/en-us/odc_2003_ta/html/odc_landvsto03_tr.asp
PowerPoint のオートメーションの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
180616 MFC を使用して、PowerPoint プレゼンテーションを作成し、表示する方法
222929 Office 2003、Office XP Developer、および Office 2000 Developer で Visual Basic を使用して PowerPoint を自動化する方法

プロパティ

文書番号: 303717 - 最終更新日: 2007年1月17日 - リビジョン: 8.2
この資料は以下の製品について記述したものです。
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Professional Edition
キーワード:?
kbautomation kbhowto KB303717
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

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