Läsa in och infoga bilder

I detta tips visas en teknik för att läsa in bildfiler i en combobox, förhandsgranska bild och därefter infoga bilden i det aktiva arbetsbladet.

Så här ser formuläret ut när vi har valt en bildfil:

 

 

Den fullständiga koden för formuläret ser ut på följande vis:

Option Explicit

 Private Sub cmbAvbryt_Click()

   Unload Me

End Sub

 

Private Sub cmbInfoga_Click()

   Dim wbBok As Workbook

   Dim wsBlad As Worksheet

 

   Set wbBok = ThisWorkbook

   Set wsBlad = wbBok.Worksheets("Blad1")

 

   'Här infogas den valda bilden i arbetsbladet.

   wsBlad.Pictures.Insert ("E:\Bilder\" & ComboBox1.Text)

    Unload Me  

End Sub

 

Private Sub ComboBox1_Change()  

   Image1.Picture = LoadPicture("E:\Bilder\" & ComboBox1.Text)

   Label1.Caption = "Förhandgranskning:"  

End Sub

 

Private Sub UserForm_Initialize()

   'En referens till Microsoft Scripting Runtime måste anges

   'via kommandot Verktyg | Referenser... i VB-editorn.

   Dim fsoObj As Scripting.FileSystemObject

   Dim fsoMapp As Scripting.Folder

   Dim fsoFil As Scripting.File

   Dim vaFilnamn As Variant

   Dim i As Long

 

   Set fsoObj = New Scripting.FileSystemObject

   Set fsoMapp = fsoObj.GetFolder("e:\Bilder")

 

   With Me.ComboBox1

      .Clear

      If Not fsoMapp Is Nothing Then

         For Each fsoFil In fsoMapp.Files

            If fsoFil Like "*.gif" Or fsoFil Like "*.jpg" Then

               .AddItem fsoFil.Name

            End If

         Next fsoFil

         i = i + 1

      End If

      .ListIndex = -1

   End With

 

   Set fsoFil = Nothing

   Set fsoMapp = Nothing

   Set fsoObj = Nothing

 End Sub