Tekst en fotos importeren vanuit excel naar powerpoint?

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

Anoniem: 1085399

Topicstarter
Hallo,

Ik moet voor mijn studie regelmatig een powerpoint presentatie maken. Dan heb ik enkele tientallen PPT pagina's, waar ik teksten en bijbehorende foto's bij plaats.

Mijn vraag: Is er een manier hoe ik via een Excelbestand urls of computerlocatie (C:/Bureaublad.. etc) met foto's kan importeren met daarnaast teksten? De foto's in het excelbestand zijn dan dus url-locaties of computerlocaties en de teksten zitten in de bijbehorende cellen.

Dus grof gevisualiseerd ziet het Excelbestand er dan zo uit:

Afbeeldingslocatie: https://image.ibb.co/d9yqHy/ppteng.jpg

In de PPT presentatie komen dan de afbeeldingen met bijbehorende titels , teksten etc. Als het opgevrolijkt kan worden met bepaalde kleuren/designs etc zou dat nog mooier zijn.

Zou heel mooi zijn als ik hiermee geholpen kan worden.

Graag geen tips over plug-ins. Deze zijn voor mij als student te duur.

Alvast bedankt!

Excelgreenie

Alle reacties


Acties:
  • 0 Henk 'm!

  • sypie
  • Registratie: Oktober 2000
  • Niet online
Zoek eens naar “Powerpoint mergefield” of “Powerpoint mailmerge”. Dat is namelijk de functie die je zoekt. Dit werkt alleen met de Office programma’s op je computer, niet met Office 365.

Acties:
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 09:50
Wat je wilt kan ook vrij eenvoudig met vba, maar ik weet niet of je daar al ervaring mee hebt?

Acties:
  • 0 Henk 'm!

Anoniem: 1085399

Topicstarter
Hallo,

bedankt voor jullie reacties. Brew, nee , met VBA heb ik helaas weinig ervaring. Ik weet net hoe ik een macro kan activeren, ik kan zelf geen macro maken.

Sypie, ik heb zelf inderdaad ook gezocht naar dit onderwerp, om precies te zijn 2 dagen lang maar ik kan geen geschikte tutorial over dit onderwerp kunnen vinden. Heb jij een tip? of een gratis programmatje die dat kan.

Acties:
  • 0 Henk 'm!

  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Microsoft heeft een artikel hoe je zoiets vanuit access kan doen. Misschien kan je daar wat mee?

MSDN: Working with PowerPoint Presentations from Access Using Automation

Als je zelf nog wat wilt zoeken, zou ik eerder zoeken naar rapportage tools die ook naar powerpoint kunnen exporteren, en misschien minder specifiek naar hoe je dit in excel kan doen.

Acties:
  • 0 Henk 'm!

Anoniem: 1085399

Topicstarter
Hallo kluyze, bedankt, maar Acces heb ik nooit gebruikt. Ik zal er even naar kijken, intussen zijn andere tips gewoon welkom : )

Acties:
  • +1 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 09:50
@Anoniem: 1085399
Ik blijf toch bij vba...

Hierbij een eerste opzet waarmee je via google en gerichte vragen hier/op stackoverflow vast een heel stuk verder zult komen!!

Input
Afbeeldingslocatie: https://tweakers.net/ext/f/I7qDEsjrL6xncTqDKEjZeSuj/full.png

Output
sheet 1:
Afbeeldingslocatie: https://tweakers.net/ext/f/IKRepNtVwKm9tWcbBnHcYRv5/full.png

sheet2:
Afbeeldingslocatie: https://tweakers.net/ext/f/3ybYgJw63uRiUMiJRxIZnVjr/full.png


De code
Zet deze in een module in je excelblad (of je persoonlijke macrowerkboek ). Google maar even als je niet weet waar te beginnen.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Option Explicit
Sub MaakPresentatie()

 'Voeg een vewijzing naar de powerpoint bibliotheek toe:
 '1. Extra --> verwijzingen
 '2. selecteer 'Microsoft PowerPoint X.0 Object Library', vink aan en klik ok
 
  'Eerst even wat variabelen declareren
  Dim newPowerPoint As PowerPoint.Application     'powerpoint applicatie
  Dim activeSlide As PowerPoint.Slide             'powerpoinjt slide
  Dim lonLaatsteRij As Long                       'de onderste rij met data in excel
  Dim rngPresentatieInhoud As Range               'kolom A van de inhoud van de presentatie
  Dim c As Range                                  'cel
     
  'Kijk of powerpoint al is geopend
  On Error Resume Next
    Set newPowerPoint = GetObject(, "PowerPoint.Application")
  On Error GoTo 0
  
  'Open powerpoint als deze nog niet open is
  If newPowerPoint Is Nothing Then
      Set newPowerPoint = New PowerPoint.Application
  End If
        
  'Open een nieuwe presentatie
  If newPowerPoint.Presentations.Count = 0 Then
      newPowerPoint.Presentations.Add
  End If
     
  'Toon de powerpoint
  newPowerPoint.Visible = True
  
  'bepaal de inhoud voor de presentatie
  With ActiveSheet
    'bepaal de onderste rij van het actieve excel-werkblad
    lonLaatsteRij = .Cells(Rows.Count, "A").End(xlUp).Row
    'slet het bereik met inhoud in op cel A1 t/m cel A-onderste rij
    Set rngPresentatieInhoud = .Range(.Cells(1, 1), .Cells(lonLaatsteRij, 1))
  End With
    
  'Loop door het bereik met inhoud voor de powerpoint
  For Each c In rngPresentatieInhoud
    'Voeg een nieuwe slide toe
    newPowerPoint.ActivePresentation.Slides.Add newPowerPoint.ActivePresentation.Slides.Count + 1, ppLayoutTextAndObject
    'Hoog te teller met het aantal slides 1 op
    newPowerPoint.ActiveWindow.View.GotoSlide newPowerPoint.ActivePresentation.Slides.Count
    'stel de actieve (=huidige) slide in
    Set activeSlide = newPowerPoint.ActivePresentation.Slides(newPowerPoint.ActivePresentation.Slides.Count)
    'met de huidige slide
    With activeSlide
      'titel opgeven
      .Shapes.Title.TextFrame.TextRange.Characters.Text = c.Offset(0, 1).Value
      'tekst opgeven
      .Shapes.Item(2).TextFrame.TextRange.Text = c.Offset(0, 3).Value
      'voeg het figuur in
      .Shapes.AddPicture(Filename:=c.Offset(0, 2).Value, LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, Left:=60, Top:=35, Width:=98, Height:=48).Select
    End With
  Next
     
    'AppActivate ("Microsoft PowerPoint")
    Set activeSlide = Nothing
    Set newPowerPoint = Nothing
     
End Sub

Acties:
  • 0 Henk 'm!

Anoniem: 1085399

Topicstarter
Hallo breew,

Thanks, dat is inderdaad wat ik bedoelde!

Misschien kun je me nog iets verder helpen.

1: om de macro te activeren moet ik dus VBA starten, de tekst erin kopieren en f5 drukken, klopt dat?
2: Op welke termen kan ik het beste zoeken op google? Ik ken stackoverflow maar dat lijkt me teveel gericht op mensen die al kunnen coderen, of niet?
3: Op welke manier moet ik de Excelbestand met daarin de data importeren in PPT? Je mag ook een link geven met tutorials hierover

Nog een laatste vraagje, heb jij die code zelf geschreven? Vind het wel bijzonder hoe iemand zo'n code 'uit zn duim zuigt' voor een bepaalde taak. Want ik neem aan dat je een heel 'woordenboek' van codes uit je hoofd moet kennen.

Bedankt voor de moeite die je hebt genomen. Hoop dat je me ook een beetje op weg kan helpen met bovenstaande vragen : )

[ Voor 5% gewijzigd door Anoniem: 1085399 op 18-06-2018 20:13 ]


Acties:
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 09:50
Anoniem: 1085399 schreef op maandag 18 juni 2018 @ 20:12:
Misschien kun je me nog iets verder helpen.
1: om de macro te activeren moet ik dus VBA starten, de tekst erin kopieren en f5 drukken, klopt dat?
Ja, dan klopt. Je start de macro (in dit geval) vanuit excel. Met Alt+F11 open je de vba-omgeving.
Zorg ervoor dat het tabblad met de 'inhoud' waarvan je een presentatie wilt maken het geactiveerde werkblad is op het moment van starten van de macro..
2: Op welke termen kan ik het beste zoeken op google? Ik ken stackoverflow maar dat lijkt me teveel gericht op mensen die al kunnen coderen, of niet?
in jouw geval: google je op "macro excel tutorial" ;-)
Stackoverflow is inderdaad wat veeleidsender dat dit forum, je ben 'verplicht' om eigen inzet te tonen en met goede voorbeelden/vragen te komen.
3: Op welke manier moet ik de Excelbestand met daarin de data importeren in PPT? Je mag ook een link geven met tutorials hierover
Dat doet de macro dus voor je :).. da's het mooie.
Wat de macro functioneel doet:
1. Open powerpoint
2. Maak een lege presentaie in powerpoint
3. Kijk in excel in welke rijen gegevens staan voor in de powerpoint
4. Loop door deze rijen, en maak in powerpoint 1 nieuwe slide per rij
5. Vul in de nieuwe slide de gegevens uit de huidige rij in (titel, figuur en tekst)
Nog een laatste vraagje, heb jij die code zelf geschreven? Vind het wel bijzonder hoe iemand zo'n code 'uit zn duim zuigt' voor een bepaalde taak. Want ik neem aan dat je een heel 'woordenboek' van codes uit je hoofd moet kennen.
Ik heb de code zelf geschreven. Toch heb ik nog nooit eerder iets geautomatiseerd in powerpoint. Ik heb echter wel veel ervaring met vba in Word en Excel, en de 'grammatica' van de taal werkt overal in office hetzelfde.
Zodra je de basis van vba onder de knie hebt (en dat kan vrij snel, zeker als je al eens hebt geprogrammeerd), dan kun je gericht googlen en begrijp je voorbeelden van anderen vrij snel.
Ik ben zelf ook begonnen met de macro-recorder, en heb dat met googlen en het volgen van tutorials uitgebreid.

Acties:
  • 0 Henk 'm!

Anoniem: 1085399

Topicstarter
Breew, bedankt voor je hulp en uitleg !

Misschien tot een andere keer, je bent een specialist.

Ciao

Acties:
  • 0 Henk 'm!

Anoniem: 1085399

Topicstarter
breew, alles oke? Ik kom er helaas niet uit. Ik krijg een foutcode. Ik weet niet hoe ik het voor elkaar moet krijgen. Heb erop gezocht hoe ik het excelbestand moet linken met PPT maar het wil niet lukken...

Zou mooi zijn als je me nog een zetje kunt geven

Acties:
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 09:50
Anoniem: 1085399 schreef op maandag 25 juni 2018 @ 08:30:
breew, alles oke? Ik kom er helaas niet uit. Ik krijg een foutcode. Ik weet niet hoe ik het voor elkaar moet krijgen. Heb erop gezocht hoe ik het excelbestand moet linken met PPT maar het wil niet lukken...

Zou mooi zijn als je me nog een zetje kunt geven
Wat heb je allemaal al geprobeerd?
Wat staat waar?
Welke fout(code) krijg je?
hoe ziet je data er uit?
liefst een paar screenshots :Y

excel bestand linken met ppt hoeft niet, dat doet de vba-code nu voor je (als het allemaal werkt)

Acties:
  • 0 Henk 'm!

Anoniem: 1085399

Topicstarter
Hallo Brew,

Ik heb een excelbestandje gemaakt als basaal voorbeeld, zie

Afbeeldingslocatie: https://ibb.co/gEabaT
Daarna druk ik op in excel op alt -f11, in VBA open ik Invoegen, Modules en voeg ik jouw hele code erin, van Option Explicit tot End Sub.

Dan krijg ik de volgende melding:

Compileerfout:
Een door de gebruiker gedefinieerd gegevenstype is niet gedefinieerd

Afbeeldingslocatie: https://ibb.co/f6qnh8

[ Voor 9% gewijzigd door Anoniem: 1085399 op 26-06-2018 08:30 ]


Acties:
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 09:50
@Anoniem: 1085399
Het risico van alles kopiëren zonder het zelf te begrijpen... Het commentaar in de code staat er niet voor niets bij ;-) Lees het even door...

Heb je al een verwijzing gemaakt naar de 'Microsoft PowerPoint x.0 Object Library'? zo nee, begin daar dan maar eens mee
Pagina: 1