[Excel+VBA] Plaatje naam wijzigen

Pagina: 1
Acties:

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
Ik heb de volgende code:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    Sheets("Template").Select
    ActiveSheet.Pictures.Insert( _
        pad & "\Plattegronden\" & bestandsnaam & ".jpg").Select
    Selection.ShapeRange.PictureFormat.CropTop = 3.75
    Selection.ShapeRange.PictureFormat.CropLeft = 3.75
    Selection.ShapeRange.PictureFormat.CropBottom = 3.75
    Selection.ShapeRange.PictureFormat.CropRight = 4.5
    Selection.ShapeRange.IncrementLeft 4.5
    Selection.ShapeRange.IncrementTop 67.5
    Selection.ShapeRange.IncrementLeft -3.75
    Selection.ShapeRange.IncrementTop -0.75
    Selection.ShapeRange.IncrementTop 3#
    Selection.ShapeRange.IncrementLeft 1.5
    With Selection.Shapes.Picture
        .Name = "Plaatje"
    End With


Zoals te zien wil ik graag de naam van het plaatje wijzigen zodat ik later niet een random naam hoef te gebruiken maar altijd de juiste naam word ingesteld. Dit is mogelijk met een shape en daar valt picture onder.

Kan iemand me verder op weg helpen hoe ik dit moet oplossen.

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 23:54
Let erop dat de omgang van Excel met de shapes collectie, shaperange en individuele shapes een beetje wazig is.
Globaal samengevat: De Shapes collectie zijn alle shapes en een shaperange is een subset ervan.
Jij wilt graag een individuele shape manipuleren. Gebruik dan geen shaperange, maar 'praat' met de individuele shape:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
Sub plaatje
Dim plaatje as shape
Set plaatje = Worksheets("Template").Shapes.AddPicture(pad & "\Plattegronden\" & bestandsnaam & ".jpg")
With Plaatje
.PictureFormat.CropTop = 3.75
.PictureFormat.CropLeft = 3.75 
etc etc.
.Name = "Plaatje"
End with
'(optioneel:)
'Set Plaatje=Nothing
End Sub