2016-10-31 3 views
1

У меня есть файл excel. На первом листе есть строки гиперссылок (Relative files paths = files расположены рядом с файлом excel).Открытая гиперссылка в VBA

В VBA я получу ячейку, содержащую гиперссылки. Как открыть файл, за которым следует гиперссылка в VBA? На самом деле я хочу, чтобы открыть гиперссылку (открыть файл на самом деле)

+0

Являются ли гиперссылки ** встроенными ** или они реализованы с помощью функции ** = Hyperlink() **? –

+0

реализован следующим образом: = Гиперссылка() – Mosi

+1

Возможный дубликат? http://stackoverflow.com/a/18922262/4604845 – Vegard

ответ

1

взглянуть на ссылки Hyperlink объекта:

https://msdn.microsoft.com/en-us/library/office/ff835563.aspx

Вы должны быть в состоянии открыть файл с помощью метода .Follow, или если это не работает, вы всегда можете захватить свойство .Address и передать его методу Workbooks.Open.

Также в закладки Excel Object Model Reference для использования в будущем :)

Я не думаю, что это работает на формульных гиперссылок, хотя, так что если это Ваша ситуация, то вместо этого, сделайте следующее:

Sub h() 
    Dim cl As Range 
    Dim h As String 
    Set cl = Range("E13") 'Modify to the cell containing your =HYPERLINK formula 
    h = Replace(cl.Formula, "=HYPERLINK(", "") 
    h = Replace(h, ")", "") 
    h = Replace(h, Chr(34), "") 
    h = Split(h, ",")(0) 

    Dim wb As Workbook 
    Set wb = Workbooks.Open(h) 
End Sub 
+0

Но «workbooks.open (h)» открывает файл в рабочей книге. Я хочу открыть файл – Mosi

+0

Просьба уточнить, что вы делаете и каковы ваши фактические ожидания. Если путь к файлу - это то, что невозможно (или что вы не хотите) открыть в Excel, вам нужно будет использовать команду SHELL, чтобы открыть ее. –

4

Если гиперссылкой в рабочий лист находится в =hyperlink() формуле:

  • грейфер формула
  • синтаксического анализа его получить URL
  • следовать по гиперссылке:


Вот код:

Sub ClickByVba() 
    ary = Split(ActiveCell.Formula, Chr(34)) 
    ActiveWorkbook.FollowHyperlink Address:=ary(1) 
End Sub 

enter image description here

Это будет работать как для ссылки на веб-страницы и ссылки на файлы.
Если ссылка на файл, файл будет открыт (если он еще не открыт) и прыжок будет сделан.

Смежные вопросы