Задачу можно решить двумя вариантами, помогите пожалуйста программно Суть: файл excel с множеством гиперссылок на документы, находящихся в разных папках, теперь все документы переехали в одну папку. Необходимо в отдельную колонку поместить только название файла без адреса, не соответствует имени гиперссылки или в гиперссылках с разными путями на папки все пути заменить на одну папку.
Задачу можно решить двумя вариантами, помогите пожалуйста программно Суть: файл excel с множеством гиперссылок на документы, находящихся в разных папках, теперь все документы переехали в одну папку. Необходимо в отдельную колонку поместить только название файла без адреса, не соответствует имени гиперссылки или в гиперссылках с разными путями на папки все пути заменить на одну папку.mary202
Сообщение отредактировал mary202 - Понедельник, 20.02.2017, 15:23
Sub ZamHyper() Dim cC As Variant Dim iL As Long, iC As Long Const NewPapka As String = "C:"
For Each cC In Intersect(Columns("P:P"), ActiveSheet.UsedRange) For iC = 1 To cC.Hyperlinks.Count iL = InStrRev(cC.Hyperlinks(iC).Address, "\") If iL Then cC.Hyperlinks(iC).Address = NewPapka & Right(cC.Hyperlinks(iC).Address, Len(cC.Hyperlinks(iC).Address) - iL + 1) Next iC Next cC
End Sub
[/vba]
Попробуйте так. [vba]
Код
Sub ZamHyper() Dim cC As Variant Dim iL As Long, iC As Long Const NewPapka As String = "C:"
For Each cC In Intersect(Columns("P:P"), ActiveSheet.UsedRange) For iC = 1 To cC.Hyperlinks.Count iL = InStrRev(cC.Hyperlinks(iC).Address, "\") If iL Then cC.Hyperlinks(iC).Address = NewPapka & Right(cC.Hyperlinks(iC).Address, Len(cC.Hyperlinks(iC).Address) - iL + 1) Next iC Next cC