Ik ben een scriptje aan het schrijven voor het invoegen van afbeeldingen in Excel. De bedoeling is dat er een afbeelding wordt ingevoegd en de afmetingen daarvan worden aangepast aan de grootte van de cel waarin die wordt ingevoegd. De afbeelding moet daarna ook een naam krijgen, en niet zoals nu gebeurd de naam "afbeelding en nummer".
Ik heb 2 scripts, de ene voegt de afbeelding in in een cel.
De ander voegt een afbeelding in en geeft een naam aan de afbeelding.
Ik krijg ze niet gecombineerd. De volgende scripts heb ik.
SCRIPT 1
SCRIPT 2
Ik hoop dat iemand mij hiermee kan helpen.
Ik heb 2 scripts, de ene voegt de afbeelding in in een cel.
De ander voegt een afbeelding in en geeft een naam aan de afbeelding.
Ik krijg ze niet gecombineerd. De volgende scripts heb ik.
SCRIPT 1
Code:
Sub TestInsertPictureInRange()
Dim BestandsLoc As String
Dim AfbNaam As String
BestandsLoc = "C:\Documents and Settings\MvanderS\Mijn documenten\Mijn afbeeldingen\"
AfbNaam = ActiveCell.Value
AfbNaam = Worksheets("Collage").Range("O16").Value
Range("O16").Select
InsertPictureInRange BestandsLoc & AfbNaam & ".jpg", _
'Range("H16").Select
Sub InsertPictureInRange(PictureFileName As String, TargetCells As Range)
' inserts a picture and resizes it to fit the TargetCells range
Dim p As Object, t As Double, l As Double, w As Double, h As Double
If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
If Dir(PictureFileName) = "" Then Exit Sub
' import picture
Set p = ActiveSheet.Pictures.Insert(PictureFileName)
' determine positions
With TargetCells
t = .Top
l = .Left
w = .Offset(0, .Columns.Count).Left - .Left
h = .Offset(.Rows.Count, 0).Top - .Top
End With
' position picture
With p
.Top = t
.Left = l
.Width = w
.Height = h
End With
Set p = Nothing
End Sub
SCRIPT 2
Code:
Sub Afbeeldinginvoegen
Dim BestandsLoc As String
Dim AfbNaam As String
AfbNaam = Worksheets("Collage").Range("O16").Value
BestandsLoc = "C:\Documents and Settings\MvanderS\Mijn documenten\Mijn afbeeldingen\"
AfbBestandsNaam = BestandsLoc & AfbNaam & ".jpg"
Worksheets("Collage").Pictures.Insert(AfbBestandsNaam).Name = AfbNaam
End Sub
Ik hoop dat iemand mij hiermee kan helpen.