Sto lavorando su Windows XP Professional, Service Pack 3, con il pacchetto office 2003.
Devo copiare e incollare centinaia e centinaia di grafici da excel a powerpoint, e volevo assolutamente usare delle macro per gestire queste procedure in modo automatico.
Dato che non sono molto pratico con l'utilizzo di diversi software office nello stesso codice, ho spulciato un po' la rete e ho trovato script di questo genere:
Codice:
Sub Create_PowerPoint_Slides()
Dim oPA As PowerPoint.Application
Dim oPP As PowerPoint.Presentation
Dim oPS As PowerPoint.Slide
Dim oShape As PowerPoint.Shape
Dim sPath As String
Dim sFile As String
Dim i1 As Integer
sPath = "C:\"
sFile = "MyfileName"
Set oPA = New PowerPoint.Application
oPA.Visible = msoTrue
Set oPP = oPA.Presentations.Add(msoTrue)
For i1 = 1 To 10
oPP.Slides.Add 1, ppLayoutBlank
Next i1
Set oPS = oPP.Slides(1)
Set oShape = oPS.Shapes.AddTextbox(msoTextOrientationHorizontal, 140#, 246#, 400#, 36#)
oShape.TextFrame.WordWrap = msoTrue
oShape.TextFrame.TextRange.Text = "Comments For File : " & sFile
With oShape
.Fill.Visible = msoTrue
.Fill.Solid
.Fill.ForeColor.RGB = RGB(204, 255, 255)
.Line.Weight = 3#
.Line.Visible = msoTrue
.Line.ForeColor.SchemeColor = ppForeground
.Line.BackColor.RGB = RGB(255, 255, 255)
End With
oPP.SaveAs sPath & sFile & ".ppt"
oPP.Close
oPA.Quit
End Sub
Tutto quello che mi interessa, non sono i dettagli con cui poter manipolare gli oggetti (che siano grafici o tabelle), ma la semplice operazione di copia incolla da excel a powerpoint.
La macro sopracitata l'ho inserita in excel, e ho selezionato da Strumenti --> riferimenti la libreria "Microsoft Powerpoint 11.0 Object Library".
Tuttavia, quando avvio la macro, mi compare il seguente errore:
"Errore di run-time '-2147319779 (8002801d)':
Errore di automazione
Libreria non registrata."
indicando come incriminata la riga:
Codice:
Set oPA = New PowerPoint.Application
Nella mia ignoranza ho pensato che VBA non vede la libreria powerpoint, ma non ho idea di come "installarla". Il file MSPPT.OLB è nella cartella Office11 di Office.
Vi ringrazio per ogni consiglio/aiuto