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

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, _
    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.
    Do While oApp.SlideShowWindows.Count >= 1
    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 = Nothing
    oApp = Nothing
    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 サイトを参照してください。
PowerPoint のオートメーションの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

180616 MFC を使用して、PowerPoint プレゼンテーションを作成し、表示する方法

222929 Office 2003、Office XP Developer、および Office 2000 Developer で Visual Basic を使用して PowerPoint を自動化する方法

文書番号:303717 - 最終更新日: 2008/05/13 - リビジョン: 1