Excel 매크로에서 이미지 파일 링크 설정

5074 단어 VBA 매크로ExcelVBA
JPEG 형식의 이미지 파일명을 입력한 Excel 시트가 있다.

이미지 파일 이름을 클릭하기 만하면 이미지를 표시 할 수 있도록 실제 파일 링크를 셀로 설정하고 싶지만 이미지 파일 수가 10,000 개 이상이므로 수동으로 진행하는 것은 현실적이지 않습니다. 했다.

그래서 링크를 자동으로 설정하는 매크로를 써 보았다.
Sub リンク設定()
    Dim wb As Workbook, ws As Worksheet, r As Range
    Dim s画像フォルダパス As String, sファイル名 As String

    Const 画像フォルダ名 As String = "画像"

    ' 対象Excelファイルのチェック
    Set wb = ActiveWorkbook
    If ThisWorkbook Is wb Then
        MsgBox "Excelファイルが選択されていません", vbCritical
        Exit Sub
    End If

    s画像フォルダパス = ThisWorkbook.Path & "\" & 画像フォルダ名

    ' 全シートの
    For Each ws In wb.Sheets
        ' 全セルを調べる
        For Each r In ws.UsedRange

            sファイル名 = LCase(Trim(r.Text))

            If sファイル名 Like "*.jpg" Then  ' JPEGファイルなら
                If Dir(s画像フォルダパス & "\" & sファイル名) <> "" Then  ' ファイルが存在したら
                    ws.Hyperlinks.Add r, 画像フォルダ名 & "\" & sファイル名  ' 相対パスでリンクを設定
                End If
            End If

        Next
    Next
End Sub

매크로 본문과 대상 Excel 파일을 열고 [Alt]+[F8]에서 실행합니다.


순식간에 링크로 바뀌어!

상대 경로로 링크하고 있으므로, 폴더 구성을 바꾸지 않는 한, 다른 환경으로 옮겨도 문제 없다.

덧붙여서, Microsoft Windows Image Acquisition Library(WIA)를 사용하면, 이미지 파일의 촬영 일시(Exif)를 VBA로부터 읽는 것도 용이하지만, 이번은 Exif 정보가 기록되어 있지 않은 화상이었기 때문에 하지 않았다.

좋은 웹페이지 즐겨찾기