Print side | Luk vindue

Indsætte billeder fra folder

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=4391
Udskrevet den: 29.Apr.2024 kl. 00:36


Emne: Indsætte billeder fra folder
Besked fra: Goldie
Emne: Indsætte billeder fra folder
Posteringsdato: 01.Nov.2020 kl. 11:44
Hej 
Jeg fandt dette "gamle" indlæg  https://forum.excel-regneark.dk/indstte-billeder-automatisk_topic53.html - https://forum.excel-regneark.dk/indstte-billeder-automatisk_topic53.html
men der er nogle små rettelser som ikke er lykkedes at finde på nettet.
Den første: Når der klikker på knappen "Opdater alle" indsættes alle billeder oven på de eksisterende. Kan det gøres så der eksisterende billeder bliver slettet og derefter aktuelle billeder bliver sat in. 
Det andet: når billederne bliver indsat ville jeg gerne have den centeret i cellen og rækken automatisk blev justeret til f.eks. 35 i højden. 

Her er koden fra modulet

Public Const DefExtention = ".jpg"
Public Const DefLocation = "C:\Foto\"
Public Const IndtastningsKolonneBogstav = "A"
Public Const IndtastningsKolonnenr = 1
Public Const IndtastningsStartRaekke = 2
Public Const IndtastningsSlutRaekke = 20

Sub Batch()
For Each c In Ark1.Range(IndtastningsKolonneBogstav & IndtastningsStartRaekke & ":" & IndtastningsKolonneBogstav & IndtastningsSlutRaekke).Cells
    InsertPictureInRange DefLocation & c.Value & DefExtention, c.Offset(0, 1)
Next c
End Sub

Sub InsertPictureInRange(PictureFileName As String, TargetCells As 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

    Set p = ActiveSheet.Pictures.Insert(PictureFileName)

    With TargetCells
        t = .Top
        l = .Left
        w = .Offset(0, .Columns.Count).Left - .Left
        h = .Offset(.Rows.Count, 0).Top - .Top
    End With

    With p
        .Top = t
        .Left = l
        .Width = w
        .Height = h
    End With
    Set p = Nothing
End Sub

På forhånd tusind tak for hjælp



Print side | Luk vindue