Toon posts:

[Word] automatisch invoegen van jpg *

Pagina: 1
Acties:
  • 650 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
In een excel bestand heb ik allerlei gegevens van leerlingen. Deze gegevens wil ik via AFDRUK SAMENVOEGEN in Word koppelen. Dit gaat prima. Nu het volgende. Ik wil pasje gaan maken voor de leerlingen met daarop een pasfoto. Nu kan ik in Word prima de gegevens samenvoegen, alleen het automatisch laten invoegen van die pasfoto gaat niet. Weet iemand een formule, idee of wat anders zodat ik automatisch de juiste foto bij de betreffende leerling krijg.

De bestandsnaam van de foto is hetzelfde als het leerlingnummer. Voorbeeld: een leerling heeft het leerlingnummer 1234. Dan is de naam van jpg bestand, 1234.jpg

Hopelijk heb ik mijn probleem duidelijk omschreven, zo niet dan geef ik graag antwoord op jullie vragen.

Bedankt alvast.

Verwijderd

Denk een stukje vba code in Word of Excel...

code:
1
2
3
    ChangeFileOpenDirectory "juiste pad"
    Selection.InlineShapes.AddPicture FileName:="juiste pad en bestandsnaam", LinkToFile:=False _
        , SaveWithDocument:=True


tip: Gebruik in Word: [Tools], [Record Macro], doe je acties die je normaliter handmatig zou doen en bekijk daarna de code.

  • jeroendevries
  • Registratie: November 2000
  • Laatst online: 31-03 23:00
Welkom bij Got.

Groetjes etc hoeft niet.

Sex is like hacking. You get in, you get out, and you hope you didn't leave something behind that can be traced


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores


Een alvast bedankt in de beginpost mag van mij wel hoor, is best wel beleefd enzo :+

Wimneedshelp: lukt het met deze code? Ik weet niet hoe en waarom het ChangeFileOpenDirectory nodig / zo mogelijk is, maar dit werkt goed:

---
i = 1234
Selection.InlineShapes.AddPicture FileName:="D:\path\" & i & ".jpg", _
LinkToFile:=False, SaveWithDocument:=True
---
Natuurlijk is path anders en maak je i afhankelijk van de student. Je wilt natuurlijk wel de cursor op de juiste plaats hebben staan en evtueel de grootte aanpassen etc.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Topicstarter
De code werkt inderdaad. Alleen nog het volgende: de variable i moet eigenlijk een samengevoegd veld zijn. Mijn gedachtegang is de volgende: verander i = 1234 in i = <<leerlingnummer>> Echter dit werkt niet. Is hier een oplossing voor?

Alvast bedankt, ;)

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Euh, wat bedoel je met i = <<leerlingnummer>>
Geef anders even een praktijkvoorbeeld dat het dus niet doet, inclusief bestandsnaam & code.

Ik pas je topictitel een beetje aan trouwens :)

[ Voor 0% gewijzigd door F_J_K op 18-11-2002 10:48 . Reden: aaargh <> wordt natuurlijk geparsed ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Topicstarter
In de voorbeeld code stond aangegeven i = 1234. Ik wil echter dat i een variable wordt. Het volgende staat in mijn Word document en wordt onder andere gemaakt door afdruk samenvoegen.


-----------------------------------------------------------------------------------------
Leerling-nummer : «STAMNR»
Naam : «Achternaam»
Foto : Hier komt dus i

-----------------------------------------------------------------------------------------


Het is zo dat ik een hele lijst met leerlingen heb. Ook heb ik foto's van alle leerlingen. Via afdruk samenvoegen worden er dus leerlingen pasjes gemaakt. Nu is het zo dat afhankelijk van het «STAMNR» ook de juiste foto geplaatst moet worden. Dus i = niet een vast nummer, maar moet gelijk zijn aan het leerling-nummer.

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Hmm. Hoe zo'n verwijzing te gebruiken weet ik niet uit m'n hoofd. Je kan het iig rechtstreeks uit excel halen.

In de VBA editor menu extra-verwijzingen-MS Excel aanvinken. Dan
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim tString As String
Set xlApp = CreateObject("Excel.Application")
Set xlWB = xlApp.Workbooks.Open("d:\path\bla.xls")

i = xlWB.Worksheets(1).Cells(2, 1).Value

Selection.InlineShapes.AddPicture FileName:="D:\path\" & i & ".jpg", _
   LinkToFile:=False, SaveWithDocument:=True

xlWB.Close False
xlApp.Quit
Set xlWB = Nothing
Set xlApp = Nothing


Hoe het met de verwijzing te doen: wie weet het :)
(Misschien kijk ik vanmiddag wel even hoe en wat, ben nu even bezig. Probeer het anders ondertusen zelf op te zoeken / uit te zoeken dmv de macro opneemknop)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)

Pagina: 1