1

Я пытаюсь выяснить, могу ли я связать файл .jpg с Excel через гиперссылку (или другим способом).

Позвольте мне объяснить немного больше, что я пытаюсь сделать:

Использование Excel 2013:

  1. У меня есть папка с +1000 изображений, названная кодом EAN .
  2. У меня есть файл Excel со всеми кодами EAN , для которых мне нужно изображение.

Я хотел бы связать каждое изображение с каждой ячейкой в дополнительном столбце через гиперссылку.

Это возможно?

Я попытался: =HYPERLINK("[Location pathway]\" & A1 & ".[filetype]","Click Here!")

Я получаю сообщение об ошибке, что он не может открыть файл.

2 ответа2

1

Пример ниже - я сделал ячейку с путем и один с расширением файла. Затем я объединил все в другой ячейке, например, =path-cell & EAN-cell & file-type-cell . В столбце D я установил гиперссылку.

Конечно, вы можете скрыть ненужные вам строки и столбцы.

0

Iv'e сделал несколько макросов, которые могут пригодиться:

Мой вариант использования был 5000 ссылок на изображения, каждое имя изображения было номером изображения, т.е. 2345.jpg

Мне нужно было превратить number.jpg в гиперссылку на папку по тому же пути, что и лист. Функция удаления удобна, чтобы полностью изменить процесс.

Для использования: измените имя папки, и если вам нужно изменить, введите регулярное выражение имени файла.

Выделите ячейки, необходимые для запуска макроса. Вы можете прикрепить макрос к кнопке для удобства.

Создатель гиперссылки

Sub addHyperlinkFormula()

    Folder = "Images/"

    For Each cell In Intersect(Selection, ActiveSheet.UsedRange)
    If cell <> "" Then
    Filename = cell.Value
    Formula = "=HYPERLINK(""" & Folder & Filename & """,""" & Filename & """)"
    cell.Formula = Formula
    End If
    Next cell
End Sub

Sub removeHyperlinkFormula()
    'this regex is for 4235435.jpg
    RegexPattern = "([0-9]+\.jpg)" 

    Set regex = CreateObject("VBScript.RegExp")
        regex.Pattern = RegexPattern
        regex.Global = True
    For Each cell In Intersect(Selection, ActiveSheet.UsedRange)
        If cell <> "" Then
            Set allMatches = regex.Execute(cell.Formula)
            If allMatches.Count <> 0 Then
                result = allMatches.Item(0).submatches.Item(0)
                cell.Value = result
                cell.Font.Underline = xlUnderlineStyleNone
                cell.Font.Color = vbBlack
            End If
        End If
    Next cell
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .