Private Sub Command1_Click() Const sTemplate = "D:\WINNT\ShellNew\PWRPNT9.POT" Const sPic = "C:\toptext.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. Set oApp = New PowerPoint.Application oApp.Visible = True oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized 'Create a new presentation based on the specified template. Set 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. Set 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 Call oSlide.Shapes.AddPicture(sPic, False, True, 150, 150, 500, 350) Set 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. Set 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 Set oChart = oSlide.Shapes.AddOLEObject(150, 150, 480, 320, _ "MSGraph.Chart.8").OLEFormat.Object oChart.ChartType = Graph.XlChartType.xl3DPie Set oChart = Nothing Set oSlide = Nothing 'Build Slide #3: 'Add a text effect to the slide and apply shadows to the text effect. Set oSlide = oPres.Slides.Add(3, PowerPoint.PpSlideLayout.ppLayoutBlank) oSlide.FollowMasterBackground = False Dim oShape As PowerPoint.Shape ' Set 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 Set oShape = Nothing Set 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 Set 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 DoEvents Loop Set 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 Set oPres = Nothing oApp.Quit Set oApp = Nothing End Sub
上面的代码需要首先引用Microsoft PowerPoint 9.0 Type Library以及Microsoft Graph 9.0 Type Library
运行到Set oPres = oApp.Presentations.Open(sTemplate, , , True)时提示 “power point could not open the file"shibushi
Const sTemplate = "D:\WINNT\ShellNew\PWRPNT9.POT"
Const sPic = "C:\toptext.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.
Set oApp = New PowerPoint.Application
oApp.Visible = True
oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized 'Create a new presentation based on the specified template.
Set 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.
Set 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
Call oSlide.Shapes.AddPicture(sPic, False, True, 150, 150, 500, 350)
Set 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.
Set 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
Set oChart = oSlide.Shapes.AddOLEObject(150, 150, 480, 320, _
"MSGraph.Chart.8").OLEFormat.Object
oChart.ChartType = Graph.XlChartType.xl3DPie
Set oChart = Nothing
Set oSlide = Nothing 'Build Slide #3:
'Add a text effect to the slide and apply shadows to the text effect.
Set oSlide = oPres.Slides.Add(3, PowerPoint.PpSlideLayout.ppLayoutBlank)
oSlide.FollowMasterBackground = False
Dim oShape As PowerPoint.Shape
' Set 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
Set oShape = Nothing
Set 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
Set 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
DoEvents
Loop
Set 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
Set oPres = Nothing
oApp.Quit
Set oApp = Nothing
End Sub
“power point could not open the file"shibushi
谢谢