Страницы: 1
RSS
Макрос открыть папку, выбрать нужные файлы и создать на них гиперссылку
 
Здравствуйте. Есть макрос, с помощью которого можно открывает папку, выбрать файл и создать гиперссылку
Код
Sub www()
    Dim s
    s = Application.GetOpenFilename("Files (*.*), *.*")
    If s <> False Then
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=s, _
                                   TextToDisplay:=s
    End If
End Sub

А как можно его модернизировать, чтобы можно было выбрать несколько файлов и создать на них гиперссылки?
 
если знать куда разместить гиперссылки то все остальное - не сложно  
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
В ячейки столбца "A"
 
Код
Sub www()
    Dim s, r&, i&
    s = Application.GetOpenFilename("Files (*.*), *.*", MultiSelect:=True)
    Randomize
    If IsArray(s) Then
      For i = LBound(s) To UBound(s)
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(1 + 999 * Rnd(), 1), _
        Address:=s(i), TextToDisplay:=s(i)
      Next
      MsgBox "Гиперссылки на файлы ( " & UBound(s) & " шт.) ищите в ячейках колонки А"
    Else
      If s <> False Then
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=s, TextToDisplay:=s
      End If
    End If
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Извините, а подряд можно как то сделать? Спасибо.
 
легко:
Код
Sub www()
    Dim s, r&, i&
    s = Application.GetOpenFilename("Files (*.*), *.*", MultiSelect:=True)
    Randomize: r = 1 + 999 * Rnd()
    If IsArray(s) Then
      For i = LBound(s) To UBound(s)
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(r + i, 1), Address:=s(i), TextToDisplay:=s(i)
      Next
      MsgBox "Гиперссылки на файлы ( " & UBound(s) & " шт.) ищите подряд в ячейках колонки А"
    Else
      If s <> False Then
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=s, TextToDisplay:=s
      End If
    End If
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, строку забыл   :D
Код
Cells(r + LBound(s), 1).Resize(UBound(s)).NumberFormat = ";;;"
 
Спасибо, большое
Страницы: 1
Наверх