0
我是新的宏,我試圖導出一些數據從Excel到PowerPoint演示文稿。我需要將Excel中的某些單元格作爲PowerPoint中的標題。這裏是我的代碼:使用VBA在PowerPoint中設置標題
Sub CrearPresentacion2()
'Iniciar las variables
Dim rng As Excel.Range
Dim PowerPointApp As PowerPoint.Application
Dim myPresentation As PowerPoint.Presentation
Dim myShapeRange As PowerPoint.ShapeRange
'Pedir al usuario un rango de celdas
Set rng = Application.InputBox("Seleccione el Rango para hacer Presentación", Title:="Seleccionar Rango", Type:=8)
On Error Resume Next
'Hacer PowerPoint visible
PowerPointApp.Visible = True
PowerPointApp.Activate
'Crear Nueva Presentacion
Set myPresentation = PowerPointApp.Presentations.Add
'Ciclo para copiar cada celda en una diapositiva
For Each Cell In rng.Cells
Cell.Select
Selection.Copy
Dim ppSlide2 As PowerPoint.Slide
Dim x As Integer
x = myPresentation.Slides.Count + 1
If x = 1 Then
Set ppSlide2 = myPresentation.Slides.Add(Index:=x, Layout:=ppLayoutBlank)
PowerPointApp.ActivePresentation.Slides(x).Select
PowerPointApp.ActiveWindow.Selection.SlideRange.Select
Set myShapeRange = ppSlide2.Shapes.PasteSpecial(DataType:=ppPasteText)
Dim Header1 As String
Header1 = "Example"
Set myTitle = ppSlide2.Shapes.Title
myTitle.TextFrame.TextRange.Characters.Text = Header1
ElseIf x = 2 Then
Set ppSlide2 = myPresentation.Slides.Add(Index:=x, Layout:=ppLayoutBlank)
PowerPointApp.ActivePresentation.Slides(x).Select
PowerPointApp.ActiveWindow.Selection.SlideRange.Select
Set myShapeRange = ppSlide2.Shapes.PasteSpecial(DataType:=ppPasteText)
Else
Set ppSlide2 = myPresentation.Slides.Add(Index:=x, Layout:=ppLayoutText)
PowerPointApp.ActivePresentation.Slides(x).Select
PowerPointApp.ActiveWindow.Selection.SlideRange.Select
Set myShapeRange = ppSlide2.Shapes.PasteSpecial(DataType:=ppPasteText)
End If
Next Cell
CutCopyMode = False
當計數器等於1,我需要插入一個「示例」的稱號,但它說,「myTitle」對象不存在。在第二種情況下,我需要把電池作爲標題,但我不知道如何使用功能
ppSlide2.Shapes.PasteSpecial(數據類型:= ppPasteText)
謝謝您的幫助。
它的工作,謝謝! – rjara
非常歡迎! :) –