Creazione di un catalogo di foto da una cartella di foto (Microsoft Excel)
Glenn sta creando un catalogo di tutte le sue foto digitali in Excel. Tutte le foto (circa 5000) si trovano in un’unica cartella. Vorrebbe inserire le foto a destra della descrizione della foto, quindi inserire un collegamento ipertestuale a tutte le foto per ingrandire la miniatura in una foto più grande.
In questo momento Glenn lo sta facendo uno per uno e lo sta facendo impazzire, quindi sta cercando modi per accelerare il processo.
La buona notizia è che non devi impazzire altrettanto velocemente; Excel fornisce macro che possono rendere il lavoro più semplice e veloce. Prima di entrare in questa discussione, tuttavia, potresti voler pensare a lungo e intensamente prima di mettere tutte le tue foto in una cartella di lavoro di Excel.
Quando si inserisce una foto in Excel, la dimensione del file della cartella di lavoro viene aumentata almeno della dimensione del file della foto inserita. Quindi, se la tua foto media è di 1 MB (abbastanza piccola con le fotocamere odierne)
e inserisci 5000 di queste foto, quindi ti ritroverai con una cartella di lavoro che contiene almeno 5 GB di foto. Questa è una cartella di lavoro enorme ed Excel potrebbe avere difficoltà a lavorare con tutte queste informazioni. (La durata del tempo dipende dalla tua versione di Excel, dalla quantità di memoria del tuo sistema, dalla velocità del tuo processore, ecc.)
Potresti pensare che la soluzione sia ridimensionare le immagini mentre le inserisci nel foglio di lavoro, in modo che siano più piccole. Mentre il ridimensionamento di un’immagine la fa sembrare più piccola (sembra più piccola nel foglio di lavoro), non è realmente più piccola. L’immagine a grandezza naturale è ancora lì in Excel.
Quindi, non riduci affatto le dimensioni del file della tua cartella di lavoro ridimensionando le foto.
Il modo in cui è possibile ridurre le dimensioni del file è ridimensionare le foto al di fuori di Excel, utilizzando un software di fotoritocco, prima che vengano inserite in Excel. In altre parole, dovresti caricare ciascuna delle foto nel software di fotoritocco, ridimensionare le foto alla dimensione della miniatura desiderata e quindi salvare la foto ridimensionata in un nuovo file di immagine in miniatura. (In genere non si desidera salvare l’immagine ridimensionata sopra la parte superiore della foto originale.) È quindi possibile inserire ciascuna miniatura nel foglio di lavoro di Excel e la dimensione del file della cartella di lavoro risultante sarebbe inferiore, sebbene comunque direttamente correlata alla dimensione aggregata di le foto in miniatura che aggiungi al foglio di lavoro.
Se desideri comunque inserire tutte le foto nel foglio di lavoro, puoi farlo utilizzando una macro. Il seguente esempio, PhotoCatalog, può cercare tutte le foto in miniatura e inserirle nel foglio di lavoro, insieme a un collegamento ipertestuale alla foto completa. Presuppone quattro cose: (1) le tue foto e le tue miniature sono tutte immagini JPG, (2) le foto sono nella directory c: \ Photos \, (3) le miniature sono nella directory c: \ Photos \ Thumbnails \, e (4) le miniature hanno gli stessi nomi di file delle foto a grandezza naturale.
Sub PhotoCatalog() Dim i As Double Dim xPhoto As String Dim sLocT As String Dim sLocP As String Dim sPattern As String sLocT = "c:\Photos\Thumbnails\" sLocP = "c:\Photos\" sPattern = sLocT & "*.jpg" Application.EnableEvents = False Application.ScreenUpdating = False Range("A1").Select ActiveCell.FormulaR1C1 = "Description" Range("B1").Select ActiveCell.FormulaR1C1 = "Thumbnail" Range("C1").Select ActiveCell.FormulaR1C1 = "Hyperlink" Range("A1:C1").Select With Selection.Font .Name = "Arial" .FontStyle = "Bold" .Size = 12 .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With i = 1 On Error GoTo 0 xPhoto = Dir(sPattern, vbNormal) Do While xPhoto <> "" i = i + 1 Range("B" & i).Select ActiveSheet.Pictures.Insert(sLocT & xPhoto).Select With Selection.ShapeRange .LockAspectRatio = msoTrue .Height = 54# .PictureFormat.Brightness = 0.5 .PictureFormat.Contrast = 0.5 .PictureFormat.ColorType = msoPictureAutomatic End With Range("C" & i).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, _ Address:= sLocP & xPhoto, TextToDisplay:=xPhoto xPhoto = Dir Loop Application.EnableEvents = True Application.ScreenUpdating = True End Sub
L’esecuzione di questa macro può richiedere del tempo, a seconda del tipo di sistema che stai utilizzando e del numero di foto che stai catalogando.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (7484) si applica a Microsoft Excel 97, 2000, 2002 e 2003.