Hoi allemaal,
Ik ben nieuw met VBA macro's en probeer een code te schrijven die vanuit 1 Excel sheet en 1 kolom data kopieert naar individuele powerpoint slides (Bv: cel A3 naar slide 3, A4 naar slide 4, etc.).
Dit omdat er 150+ bestaande slides zijn (dus geen nieuwe slides toevoegen) welke ook andere info bevatten, waarvan elke slide 1 textbox bevat die om de zoveel tijd geupdate moet worden (info staat dan in Excel) waarbij 'n macro mij handig leek.
2 manieren uiteindelijk mogelijk: info wordt puur geplakt in corresponderende slide of textbox met oude cell-data wordt vervangen door nieuwe cell-data.
Ik ben begonnen met 'n code maar geeft me nog foutmeldingen (veelal "object not active"). Kan iemand mij helpen 'm te optimaliseren? Alvast dank!
De volgende code ben ik mee bezig:
Ik ben nieuw met VBA macro's en probeer een code te schrijven die vanuit 1 Excel sheet en 1 kolom data kopieert naar individuele powerpoint slides (Bv: cel A3 naar slide 3, A4 naar slide 4, etc.).
Dit omdat er 150+ bestaande slides zijn (dus geen nieuwe slides toevoegen) welke ook andere info bevatten, waarvan elke slide 1 textbox bevat die om de zoveel tijd geupdate moet worden (info staat dan in Excel) waarbij 'n macro mij handig leek.
2 manieren uiteindelijk mogelijk: info wordt puur geplakt in corresponderende slide of textbox met oude cell-data wordt vervangen door nieuwe cell-data.
Ik ben begonnen met 'n code maar geeft me nog foutmeldingen (veelal "object not active"). Kan iemand mij helpen 'm te optimaliseren? Alvast dank!
De volgende code ben ik mee bezig:
Code:
Sub test()
Dim oPPApp As Object, oPPPrsn As Object, oPPSlide As Object
Dim oPPShape As Object
Dim FlName As String
Dim i As Integer
'~~> Change this to the relevant file
FlName = "G:\Test.pptm"
'~~> Establish an PowerPoint application object
On Error Resume Next
Set oPPApp = GetObject(, "PowerPoint.Application")
If Err.Number <> 0 Then
Set oPPApp = CreateObject("PowerPoint.Application")
End If
Err.Clear
On Error GoTo 0
oPPApp.Visible = True
'~~> Open the relevant powerpoint file
Set oPPPrsn = oPPApp.Presentations.Open(FlName)
For i = 3 To ThisWorkbook.Sheets("RMs").Range("A65000").End(xlUp).Row
'~~> Change this to the relevant slide which has the shape
Next
Set oPPSlide = oPPPrsn.slides(i)
'~~> Write to the shape
ThisWorkbook.Sheets("RMs").Range("A" & i).CopyPicture Appearance:=xlScreen, _
Format:=xlPicture
oPPSlide.Shapes.Paste.Select
'
'~~> Rest of the code
'
End Sub
Laatst bewerkt: