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