Foto invoegen obv naam uit cel + Hyperlinks mbv Excel VBA

Status
Niet open voor verdere reacties.

royb73

Gebruiker
Lid geworden
19 sep 2012
Berichten
228
Beste,

Ik ben bezig om een code te maken (ben een beginner) om geautomatiseerd foto's toe te voegen op basis van de naam uit een cel. Helaas lukt dit niet helemaal (zie Excel bestand) en heb handmatig even het formaat en plaats van de foto toegevoegd. Dit zou ik geautomatiseerd willen hebben.

Code:
Sub Picture()
 Dim picname As String
    
 Dim pasteAt As Integer
 Dim lThisRow As Long
    
    lThisRow = 6
    
    Do While (Cells(lThisRow, 6) <> "")
       
        Range("D6").Select 'This is where picture will be inserted
        pasteAt = Cells(lThisRow, 4)
        Cells(pasteAt, 1).Select 'This is where picture will be inserted
           
         picname = Range("E6") 'This is the picture name
         'picname = Cells(lThisRow, 2) 'This is the picture name
            
        ActiveSheet.Pictures.Insert("D:\Foto's 100% inventerisatie" & picname & ".jpg").Select 'Path to where pictures are stored
   
        ' This resizes the picture
        
        With Selection
            '.Left = Range("A6").Left
            '.Top = Range("A6").Top
            .Left = Cells(pasteAt, 1).Left
            .Top = Cells(pasteAt, 1).Top
               
            .ShapeRange.LockAspectRatio = msoFalse
            .ShapeRange.Height = 100#
            .ShapeRange.Width = 80#
            .ShapeRange.Rotation = 0#
        End With
           
        lThisRow = lThisRow + 1
       
    Loop
       
    Range("E6").Select
    Application.ScreenUpdating = True
       
    Exit Sub
       
ErrNoPhoto:
    MsgBox "Unable to Find Photo" 'Shows message box if picture not found
    Exit Sub
    Range("B20").Select

End Sub

Tevens ben ik op zoek naar een code die een hyperlink maakt van de naam van de plaatje (zie kolom E). Indien hier op de link geklikt wordt, dan zou de foto ook buiten Excel geopend moeten worden. Heb hier helaas geen code nog kunnen vinden. Ik denk dat hier geen full pathname moet komen te staan, maar een relatieve padnaam aangezien de bestanden + Excel ook op andere locaties gekopieerd kunnen worden.

Hoor het graag.

Mvg

Roy.
Bekijk bijlage Foto toevoegen.xls
 
Dag royb73 !

Het verbaast me dat er nog geen reacties op je post gekomen zijn, want het lijkt nochtans een leuke uitdaging. Ik heb getracht een oplossing te vinden. Het bestand in bijlage doet ongeveer wat je vraagt. Houd wel rekening met de volgende factoren:
  • We gaan er van uit dat de .jpg-bestanden in dezelfde folder staan als het Excel-bestand.
  • De sheet met de gegevens is gewijzigd en heet nu "DATA" (de default naam die Excel aan een sheet heeft hangt af van de taal: Blad1 vs Sheet1).
De code is zo opgesteld dat je die gemakkelijk kan aanpassen als je het anders zou willen.

Het is niet nodig om de hoogte van de rijen en de breedte van de kolom manueel aan te passen. De macro doet dat.

Verder zijn de foto's ingevoegd als link. Dat wil zeggen dat het Excel-bestand referenties bevat naar de fotobestanden en niet de foto's zelf. Daardoor vermijd je dat het Excel-bestand opgeblazen wordt (je voorbeeldbestand bevat slechts één foto en het is al 813 kBytes).

Grtz,
MDN111.
 

Bijlagen

  • Fotos-toevoegen.xls
    58 KB · Weergaven: 847
Laatst bewerkt:
Beste MDN111,

Bedankt voor jouw reactie.

Ik zal dit uitproberen.

Mvg

Roy.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan