title: how to add a textbox to a powerpoint presentation using vba
body: <p>I'm writing a macro which creates a powerpoint presentation and then copys data from a spreadsheet and adds a title and a textbox. I've been able to add the data and tile and format both however I'm struggling to add a textbox. When I run the code below it returns the error 'ActiveX component can't create object'. I feel like over looking something simple. Any help would be greatly appreciated! (Error occurs on the line after the first set of '-------')</p>
  
  <pre><code>Sub Create_Presentation()
  
  Dim rng As Range
  Dim PowerPointApp As PowerPoint.Application
  Dim myPresentation As PowerPoint.Presentation
  Dim mySlide As PowerPoint.Slide
  Dim myShape As PowerPoint.Shape
  Dim myTextbox As Shape
  
  
  On Error Resume Next
  
  
    Set PowerPointApp = CreateObject(class:="PowerPoint.Application")
  
    Err.Clear
  
    If PowerPointApp Is Nothing Then Set PowerPointApp = CreateObject(class:="PowerPoint.Application")
  
  
    If Err.Number = 429 Then
      MsgBox "PowerPoint could not be found, aborting."
      Exit Sub
    End If
  
    On Error GoTo 0
  
  
    Application.ScreenUpdating = True
  
  
    Set myPresentation = PowerPointApp.Presentations.Add
  
    Set mySlide = myPresentation.Slides.Add(1, 11) '11 = ppLayoutTitleOnly
  
  Set rng = Range("PL_Tot")
  rng.Copy
  
    mySlide.Shapes.PasteSpecial DataType:=xlBitmap
    Set myShape = mySlide.Shapes(mySlide.Shapes.Count)
  
  
    myShape.Left = 0.3
    myShape.Top = 67
  
    myShape.Width = 430
    myShape.Height = 406.4
  
  mySlide.Shapes.Title.TextFrame.TextRange.Text = Range("TotalTitle").Value
  
  Set sldTitle = mySlide.Shapes.Title
  
  With sldTitle
  With .TextFrame.TextRange
  With .Font
  .Bold = msoTrue
  .Size = 22
  .Color = RGB(0, 0, 200)
  End With
  End With
  End With
  
  sldTitle.Top = -30
  '------------------------------------
  
  Set myPresentation = ActivePresentation
  
  Set mySlide = myPresentation.Slides(1)
  
  Set myTextbox = mySlide.Shapes.AddTextbox(msoTextOrientationHorizontal, _
      Left:=0, Top:=10, Width:=200, Height:=50)
  
  With myTextbox.TextFrame.TextRange
      .Text = Range("PPTextbox").Value
      With .Font
          .Size = 12
          .Name = "Arial"
      End With
  End With
  
  '-----------------------------------
   PowerPointApp.Visible = True
   PowerPointApp.Activate
  
  
   Application.CutCopyMode = False
  </code></pre>