Glenn은 Excel에서 자신의 모든 디지털 사진 카탈로그를 만들고 있습니다. 모든 사진 (약 5000 개)이 단일 폴더에 있습니다. 사진 설명 오른쪽에 사진을 삽입 한 다음 모든 사진에 하이퍼 링크를 추가하여 축소판을 더 큰 사진으로 확대하려고합니다.

지금 Glenn은이 작업을 하나씩 수행하고 있으며 이로 인해 그를 미치게 만들고 있으므로 프로세스 속도를 높일 수있는 방법을 찾고 있습니다.

좋은 소식은 빨리 미쳐 버릴 필요가 없다는 것입니다. Excel은 작업을 더 빠르고 쉽게 수행 할 수있는 매크로를 제공합니다. 그러나 그 토론에 들어가기 전에 모든 사진을 Excel 통합 문서에 넣기 전에 오래 열심히 생각하는 것이 좋습니다.

Excel에 사진을 삽입하면 통합 문서의 파일 크기가 삽입되는 사진의 파일 크기 이상으로 늘어납니다. 따라서 평균 사진 크기가 1MB라면 (오늘날의 카메라에서는 상당히 작음)

그런 다음 5000 장의 사진을 삽입하면 최소한 5GB의 사진이 포함 된 통합 문서가 생성됩니다. 그것은 거대한 통합 문서이며 Excel은 많은 정보로 작업하는 데 어려움을 겪을 수 있습니다. (시간의 어려움은 Excel 버전, 시스템의 메모리 양, 프로세서 속도 등에 따라 다릅니다.)

해결책은 워크 시트에 이미지를 배치 할 때 이미지를 더 작게 조정하는 것이라고 생각할 수 있습니다. 이미지의 크기를 조정하면 더 작게 보이지만 (워크 시트에서는 더 작게 보임) 실제로 작지는 않습니다. 전체 크기 이미지는 여전히 Excel에 있습니다.

따라서 사진의 크기를 조정하여 통합 문서의 파일 크기를 전혀 줄일 수 없습니다.

파일 크기를 줄이는 방법은 사진을 Excel에 삽입하기 전에 사진 편집 소프트웨어를 사용하여 Excel 외부에서 사진의 크기를 조정하는 것입니다. 즉, 각 사진을 사진 편집 소프트웨어에로드하고 원하는 축소판 크기로 사진 크기를 조정 한 다음 크기가 조정 된 사진을 새 축소판 이미지 파일에 저장해야합니다. (일반적으로 원본 사진 위에 크기가 조정 된 이미지를 저장하지 않을 것입니다.) 그런 다음 각 축소판을 Excel 워크 시트에 삽입하면 결과 통합 문서 파일 크기가 더 작아 지지만 여전히 전체 크기와 직접적인 관련이 있습니다. 워크 시트에 추가 한 축소판 사진

그래도 모든 사진을 워크 시트에 삽입하려면 매크로를 사용하면됩니다. 다음 예제 인 PhotoCatalog는 모든 축소판 사진을 찾아서 전체 사진에 대한 하이퍼 링크와 함께 워크 시트에 삽입 할 수 있습니다. (1) 사진과 섬네일은 모두 JPG 이미지이고, (2) 사진은 c : \ Photos \ 디렉토리에 있고, (3) 섬네일은 c : \ Photos \ Thumbnails \ 디렉토리에 있습니다. (4) 축소판은 전체 크기 사진과 동일한 파일 이름을 갖습니다.

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

사용중인 시스템 유형과 목록 화하는 사진 수에 따라이 매크로를 실행하는 데 시간이 오래 걸릴 수 있습니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (7484)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다.