2010 - Изменение пути гиперссылок Excel2010
-
oleg_nojab
2010 - Изменение пути гиперссылок Excel2010
Добрый день уважаемые форумчане!
Проблема в следующем, имеется файлик Excel с множеством гиперссылок которые ссылаются на файлы в папке (\\10.52.1.1\Стройки\Проекты), возникла острая необходимость подпапку "Проекты" вытащить из папки "Стройки" и поместить в корень (\\10.52.1.1\Проекты), помогите с написанием скрипта по изменению гиперссылок во всем документе. Просьба не отправлять в гугл и прочие форумы, все что было найдено в сети, не сработало. Заранее спасибо за помощь.
Проблема в следующем, имеется файлик Excel с множеством гиперссылок которые ссылаются на файлы в папке (\\10.52.1.1\Стройки\Проекты), возникла острая необходимость подпапку "Проекты" вытащить из папки "Стройки" и поместить в корень (\\10.52.1.1\Проекты), помогите с написанием скрипта по изменению гиперссылок во всем документе. Просьба не отправлять в гугл и прочие форумы, все что было найдено в сети, не сработало. Заранее спасибо за помощь.
-
Iska
Re: 2010 - Изменение пути гиперссылок Excel2010
«On Error Resume Next» надо выкинуть (и вообще забыть его использование подобным образом как страшный сон). Перед InputBox проверять наличие выделения (более одной ячейки) и использовать его в качестве умолчания. Остальное, в принципе, сойдёт.
-
Iska
Re: 2010 - Изменение пути гиперссылок Excel2010
На WSH (не проверялось):
Код:
Код:
Код: Выделить всё
Option Explicit
Const xlPart = 2
Dim objWorkSheet
With WScript.CreateObject("Excel.Application")
With .Workbooks.Open("C:\Мои проекты\0023\Книга1.xls")
.Parent.DisplayAlerts = False
For Each objWorkSheet In .Worksheets
objWorkSheet.UsedRange.Replace "\\10.52.1.1\Стройки\Проекты", "\\10.52.1.1\Проекты", xlPart
Next
.Parent.DisplayAlerts = True
.Save
.Close
End With
.Quit
End With
WScript.Quit 0-
a_axe
Re: 2010 - Изменение пути гиперссылок Excel2010
Цитата a_axe:
Public Sub HL_repl()
Dim HLobj As Hyperlink
For Each HLobj In ActiveSheet.Hyperlinks
HLobj.Address = Replace(HLobj.Address, "\\10.52.1.1\Стройки\Проекты", "\\10.52.1.1\Проекты")
Next HLobj
End Sub
Выдает ошибку "Run-time error 13: Type mismatch"
Public Sub HL_repl()
Dim HLobj As Hyperlink
For Each HLobj In ActiveSheet.Hyperlinks
HLobj.Address = Replace(HLobj.Address, "\\10.52.1.1\Стройки\Проекты", "\\10.52.1.1\Проекты")
Next HLobj
End Sub
2010 - Изменение пути гиперссылок Excel2010
Выдает ошибку "Run-time error 13: Type mismatch"
-
oleg_nojab
Re: 2010 - Изменение пути гиперссылок Excel2010
Цитата oleg_nojab:
Выдает ошибку "Run-time error 13: Type mismatch"
Покажите скриншот вместе с данным кодом в окне редактора VBA. Было бы неплохо также приложить образец Рабочей книги с гиперссылками, упаковав его в архив.
Выдает ошибку "Run-time error 13: Type mismatch"
2010 - Изменение пути гиперссылок Excel2010
Покажите скриншот вместе с данным кодом в окне редактора VBA. Было бы неплохо также приложить образец Рабочей книги с гиперссылками, упаковав его в архив.
-
Iska
Re: 2010 - Изменение пути гиперссылок Excel2010
Цитата Iska:
На WSH (не проверялось):
Iska, это в редакторе VBA нужно запускать? Не то чтобы я что-нибудь понял, просто хоть понять, в какую сторону идти...
На WSH (не проверялось):
2010 - Изменение пути гиперссылок Excel2010
Iska, это в редакторе VBA нужно запускать? Не то чтобы я что-нибудь понял, просто хоть понять, в какую сторону идти...
-
a_axe
Re: 2010 - Изменение пути гиперссылок Excel2010
Цитата a_axe:
Iska, это в редакторе VBA нужно запускать?
Нет. Сохранить в файл с расширением .vbs и запустить двойным щелчком из Проводника (хост WScript.exe). Я лично предпочитаю консоль Far Manager'а, посему у меня по умолчанию («CScript.exe //H:CScript») используется консольный хост CScript.
Ваш код, кстати, как я полагаю, более правильный.
Iska, это в редакторе VBA нужно запускать?
2010 - Изменение пути гиперссылок Excel2010
Нет. Сохранить в файл с расширением .vbs и запустить двойным щелчком из Проводника (хост WScript.exe). Я лично предпочитаю консоль Far Manager'а, посему у меня по умолчанию («CScript.exe //H:CScript») используется консольный хост CScript.
Ваш код, кстати, как я полагаю, более правильный.
-
Iska
Re: 2010 - Изменение пути гиперссылок Excel2010
Пробую на тестовом файле, ошибка сохраняется
Снимок1.JPG
-
oleg_nojab
Re: 2010 - Изменение пути гиперссылок Excel2010
Пробую на тестовом файле, ошибка сохраняется
Снимок1.JPG
-
oleg_nojab
Re: 2010 - Изменение пути гиперссылок Excel2010
oleg_nojab, к сожалению, не видно место возникновения ошибки. Упакуйте Ваш тестовый файл в архив и приложите к сообщению, либо выложите на RGhost или Яндекс.Диск.
- Вложения