Opprette et bilde Catalog fra en mappe med bilder

September 15  by Eliza

Glenn er å lage en katalog over alle sine digitale bilder i Excel. Alle bildene (ca 5000 av dem) er i en enkelt mappe. Han ønsker å sette inn bildene til høyre i bildet beskrivelse, og deretter sette en hyperkobling til alle bildene for å forstørre bildene for større bilde. Akkurat nå Glenn gjør dette én etter én, og det er ham gal, så han er på utkikk etter måter å øke hastigheten på prosessen opp.

Den gode nyheten er at du ikke trenger å gå gale ganske så fort; Excel gir makroer som kan gjøre jobben raskere og enklere. Før du hopper inn i den diskusjonen, men kan det være lurt å tenke lenge og hardt før du går om å sette alle bildene dine inn i en Excel-arbeidsbok.

Når du setter inn et bilde i Excel, er filstørrelsen på arbeidsboken økt med minst filstørrelsen på bildet som settes inn. Dermed, hvis din gjennomsnittlige bilde er en MB i størrelse (ganske liten med dagens kameraer), og du setter inn 5000 slike bilder, så ender du opp med en arbeidsbok som har minst 5 GB med bilder i det. Det er en stor arbeidsbok, og Excel kan ha en hard tid på å jobbe med så mye info. (Hvor vanskelig for en tid avhenger av hvilken versjon av Excel, hvor mye minne som er i systemet, hvor rask prosessoren er, etc.)

Du tenker kanskje at løsningen er å skalere bildene som du plasserer dem i regnearket, slik at de er mindre. Mens rescaling et bilde gjør det vises mindre (det ser mindre i regnearket), er det ikke egentlig mindre. Bildet i full størrelse er fortsatt der i Excel. Så, trenger du ikke redusere arbeidsboken er filstørrelsen i det hele tatt ved å skalere bilder.

Den måten kan du redusere filstørrelsen er å skalere bildene utenfor Excel, ved hjelp av bildebehandlingsprogram, før de blir satt inn i Excel. Med andre ord, ville du trenger å laste hvert av bildene i fotoredigeringsprogramvare, endre størrelse på bildene til hva thumbnail størrelsen du ønsker, og deretter lagre endret størrelse bilde til et nytt miniatyrbildefilen. (Du vanligvis ville ikke ønsker å lagre endret størrelse bilde over toppen av originalfotografiet.) Du kan da sette inn hvert miniatyr inn i Excel regneark og din resulterende arbeidsbok filstørrelsen vil være mindre, men fortsatt er direkte knyttet til den samlede størrelsen på miniatyr bildene du legger til regnearket.

Hvis du likevel ønsker å sette inn alle bildene i regnearket, kan du gjøre det ved hjelp av en makro. Følgende eksempel, PhotoCatalog, kan se for alle miniatyr bilder og sette dem inn i regnearket, sammen med en hyperkobling til den fulle bildet. Det forutsetter fire ting: (1) bilder og miniatyrer er alle JPG-bilder, (2) bildene er i katalogen c: \ Bilder \, (3) miniatyrene er i katalogen c: \ Bilder \ Miniatyrbilder \, og (4) miniatyrene har samme filnavn som de i full størrelse bilder.

Sub PhotoCatalog ()
Dim jeg Som Double
Dim xPhoto As String
Dim sLocT As String
Dim sLocP As String
Dim sPattern As String

sLocT = "c: \ Bilder \ Miniatyrbilder \"
sLocP = "c: \ Bilder \"
sPattern = sLocT & "* .jpg"

Application.EnableEvents = False
Application.ScreenUpdating = False

Range ("A1"). Velg
ActiveCell.FormulaR1C1 = "Beskrivelse"
Range ("B1"). Velg
ActiveCell.FormulaR1C1 = "Thumbnail"
Range ("C1"). Velg
ActiveCell.FormulaR1C1 = "link"
Range ("A1: C1") Velg.
Med Selection.Font
.name = "Arial"
.FontStyle = "Bold"
.Size = 12
.ColorIndex = XlAutomatic
Avslutt med
Med Selection.Borders (xlEdgeBottom)
.LineStyle = XlContinuous
.Weight = XlMedium
.ColorIndex = XlAutomatic
Avslutt med

i = 1
On Error GoTo 0
xPhoto = Dir (sPattern, vbNormal)
Gjør Mens xPhoto <> ""
i = i + 1
Range ("B" & i) .Velg
ActiveSheet.Pictures.Insert (sLocT & xPhoto) .Velg
Med Selection.ShapeRange
.LockAspectRatio = MsoTrue
.Height = 54 #
.PictureFormat.Brightness = 0,5
.PictureFormat.Contrast = 0,5
.PictureFormat.ColorType = MsoPictureAutomatic
Avslutt med
Range ("C" og i) .Velg
ActiveSheet.Hyperlinks.Add Anchor: = Selection, _
Adresse: = sLocP & xPhoto, TextToDisplay: = xPhoto
xPhoto = Dir
Loop

Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Det kan ta en stund for denne makroen til å kjøre, avhengig av type system du bruker, og hvor mange bilder du katalogiserer.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (7484) gjelder for Microsoft Excel 97, 2000, 2002, og 2003.