Есть такая задачка: в таблице Excel ведется регистрация приказов. Кроме обычных реквизитов дата/заголовок и т.д. в таблицу включаются еще и гиперссылки на вордовский файл с приказом и на файл со сканом (файлы лежат на сервере). При этом у каждой из гиперссылок текст, видимый в ячейке - это номер приказа, например, за текстом "№ 256-орг" скрывается адрес "M:\Common\ORD\Приказы\2014\256_орг_2014 0726.docx".
Вопрос: как сделать так, чтобы текст массово заменился на адрес? Можно в столбце рядом, можно в той же ячейке, главное, чтобы в результате появились ячейки с гиперссылками а-ля "M:\Common\ORD\Приказы\2014\256_орг_2014 0726.docx". База приказов в Excel'е ведется с 2008 года, каждый год образуется до 500 приказов, руками перебивать каждую гиперссылку очень долго и муторно, поэтому очень нужна помощь специалистов!
Добрый день!
Есть такая задачка: в таблице Excel ведется регистрация приказов. Кроме обычных реквизитов дата/заголовок и т.д. в таблицу включаются еще и гиперссылки на вордовский файл с приказом и на файл со сканом (файлы лежат на сервере). При этом у каждой из гиперссылок текст, видимый в ячейке - это номер приказа, например, за текстом "№ 256-орг" скрывается адрес "M:\Common\ORD\Приказы\2014\256_орг_2014 0726.docx".
Вопрос: как сделать так, чтобы текст массово заменился на адрес? Можно в столбце рядом, можно в той же ячейке, главное, чтобы в результате появились ячейки с гиперссылками а-ля "M:\Common\ORD\Приказы\2014\256_орг_2014 0726.docx". База приказов в Excel'е ведется с 2008 года, каждый год образуется до 500 приказов, руками перебивать каждую гиперссылку очень долго и муторно, поэтому очень нужна помощь специалистов!Clervo
Похоже, я промахнулась с подфорумом. Прошу модераторов перенести тему на правильное место: в "Вопросы по Excel". Извините!.. [moder]Тему перенес (хотя предположу, что нужно было перенести в ветку макросов). А вот Правила форума все-таки прочитайте. В частности, пункт про приложение примера в Excel.
ГС могут быть 2-х видов, какой у Вас в файле - без примера не ясно.
Похоже, я промахнулась с подфорумом. Прошу модераторов перенести тему на правильное место: в "Вопросы по Excel". Извините!.. [moder]Тему перенес (хотя предположу, что нужно было перенести в ветку макросов). А вот Правила форума все-таки прочитайте. В частности, пункт про приложение примера в Excel.
ГС могут быть 2-х видов, какой у Вас в файле - без примера не ясно.Clervo
У функции ГИПЕРССЫЛКА два параметра: первый - адрес ссылки (путь к файлу), второй - отображаемый текст. Если второй параметр не указан, то отбражается адрес (путь к файлу).
У функции ГИПЕРССЫЛКА два параметра: первый - адрес ссылки (путь к файлу), второй - отображаемый текст. Если второй параметр не указан, то отбражается адрес (путь к файлу).Gustav
Файл прикладываю. Но при пересылке с работы домой гиперы поменялись и сейчас они содержат пути на мой диск С, хотя файлы там никогда не лежали.
Гиперы добавляются тремя людьми. За двоих могу точно сказать, что ссылки устанавливаются через контекстное меню. Версии Exсel у операторов разные - 2007 и 2010.
Файл прикладываю. Но при пересылке с работы домой гиперы поменялись и сейчас они содержат пути на мой диск С, хотя файлы там никогда не лежали.
Гиперы добавляются тремя людьми. За двоих могу точно сказать, что ссылки устанавливаются через контекстное меню. Версии Exсel у операторов разные - 2007 и 2010.Clervo
Если в ячейке A1 - путь к файлу: M:\Common\ORD\Приказы\2014\256_орг_2014 0726.docx, в ячейке B1 - текст: № 256-орг, то в C1 можно написать формулу:
Код
=ГИПЕРССЫЛКА(A1; B1)
которая будет отображать текст: № 256-орг
Или формулу:
Код
=ГИПЕРССЫЛКА(A1)
которая будет отображать текст: M:\Common\ORD\Приказы\2014\256_орг_2014 0726.docx.
Щелчок по ссылке в обоих случаях будет приводить к одному и тому же - открытию указанного файла в Word.
P.S. Извлечь ссылку на файл в отдельную соседнюю ячейку (чтобы потом от нее построить гиперссылку) можно при помощи простенькой пользовательской функции: [vba]
Код
Function АДРЕСССЫЛКИ(ячейка As Range) АДРЕСССЫЛКИ = ячейка.Hyperlinks(1).Address End Function
[/vba]
Если в ячейке A1 - путь к файлу: M:\Common\ORD\Приказы\2014\256_орг_2014 0726.docx, в ячейке B1 - текст: № 256-орг, то в C1 можно написать формулу:
Код
=ГИПЕРССЫЛКА(A1; B1)
которая будет отображать текст: № 256-орг
Или формулу:
Код
=ГИПЕРССЫЛКА(A1)
которая будет отображать текст: M:\Common\ORD\Приказы\2014\256_орг_2014 0726.docx.
Щелчок по ссылке в обоих случаях будет приводить к одному и тому же - открытию указанного файла в Word.
P.S. Извлечь ссылку на файл в отдельную соседнюю ячейку (чтобы потом от нее построить гиперссылку) можно при помощи простенькой пользовательской функции: [vba]
Код
Function АДРЕСССЫЛКИ(ячейка As Range) АДРЕСССЫЛКИ = ячейка.Hyperlinks(1).Address End Function
Выделите нужные ячейки (можно с избытком) и запустите макрос[vba]
Код
Sub tt() On Error Resume Next n_ = Selection.Count For i = 1 To n_ Selection(i) = Selection(i).Hyperlinks(1).Address Next i Selection.Hyperlinks.Delete On Error GoTo 0 End Sub
[/vba] Если саму ГС удалять не нужно, то строку Selection.Hyperlinks.Delete убейте.
Немного изменил макрос в 19:20
Выделите нужные ячейки (можно с избытком) и запустите макрос[vba]
Код
Sub tt() On Error Resume Next n_ = Selection.Count For i = 1 To n_ Selection(i) = Selection(i).Hyperlinks(1).Address Next i Selection.Hyperlinks.Delete On Error GoTo 0 End Sub
[/vba] Если саму ГС удалять не нужно, то строку Selection.Hyperlinks.Delete убейте.
_Boroda_, сделала все по Вашему совету, исключив строку-"убийцу", и вот что получилось:
1) отображение поменялось, ура! 2) видимо, из-за того, что пути ОЧЕНЬ длинные, отображение получилось не полным, без начала пути, т.е. название файла с расширением и название основной директории есть, а названий диска и четырех директорий, предшествующих основной, не поместились.
_Boroda_, сделала все по Вашему совету, исключив строку-"убийцу", и вот что получилось:
1) отображение поменялось, ура! 2) видимо, из-за того, что пути ОЧЕНЬ длинные, отображение получилось не полным, без начала пути, т.е. название файла с расширением и название основной директории есть, а названий диска и четырех директорий, предшествующих основной, не поместились.Clervo
Справа от столбца с гиперсылками создала новый пустой столбец. Но при использовании в пустой ячейке пользовательской функции, получаю такое отображение: =АДРЕСССЫЛКИ(A2), а не развертку адреса. Полагаю, что виной тому мои кривые руки. Подскажите, что делаю не так?
Gustav, с этой часть разобралась, спасибо!
Справа от столбца с гиперсылками создала новый пустой столбец. Но при использовании в пустой ячейке пользовательской функции, получаю такое отображение: =АДРЕСССЫЛКИ(A2), а не развертку адреса. Полагаю, что виной тому мои кривые руки. Подскажите, что делаю не так?Clervo
Gustav, с текстовым форматом Вы попали в точку. Поменяла формат на общий - и стали отображаться пути.
Но и в этом случае осталась проблема, о которой я писала выше после применения метода _Boroda_:
видимо, из-за того, что пути ОЧЕНЬ длинные, отображение получилось не полным, без начала пути, т.е. название файла с расширением и название основной директории есть, а названий диска и четырех директорий, предшествующих основной, не поместились.
Файл с изменениями прикладываю. В столбцах А и F ссылки изменены через маркос (_Boroda_), в стобеце B - через пользовательскую функцию (Gustav).
Gustav, с текстовым форматом Вы попали в точку. Поменяла формат на общий - и стали отображаться пути.
Но и в этом случае осталась проблема, о которой я писала выше после применения метода _Boroda_:
видимо, из-за того, что пути ОЧЕНЬ длинные, отображение получилось не полным, без начала пути, т.е. название файла с расширением и название основной директории есть, а названий диска и четырех директорий, предшествующих основной, не поместились.
Файл с изменениями прикладываю. В столбцах А и F ссылки изменены через маркос (_Boroda_), в стобеце B - через пользовательскую функцию (Gustav).Clervo
видимо, из-за того, что пути ОЧЕНЬ длинные, отображение получилось не полным, без начала пути, т.е. название файла с расширением и название основной директории есть, а названий диска и четырех директорий, предшествующих основной, не поместились.
Не в "ОЧЕНЬ длинности" дело. C "неполным путем" типа ..\..\ это на самом деле вопрос механизма относительных ссылок в пути к файлу. При желании разобраться - погуглите самостоятельно. Некоторая неприятность заключается в том, что путь изменится, если файл, содержащий ссылки, открывать не на сайте, а после сохранения на своем диске. У меня после сохранения файла все пути по моей формуле АДРЕСССЫЛКИ восстановились полностью и перешли в категорию http//.
Честно говоря, я бы, не особо тратя время на разборки, просто составил сцепкой адрес гиперссылки из общей константы начала пути (как говорите, 4 директории) и заключительного имени файла (или имени файла и некоторых предшествующих директорий, после 4-х, если файлы сканов у вас хранятся не в одной директории). В общем, как было сделано в другой недавней теме форума, ссылку на которую я давал выше. При таком подходе вы будете хорошо контролировать ситуацию, так как составляющие детали гиперссылки у вас будут храниться в ячейках как обычный текст и превращаться в живую гиперссылку только в ячейке с этой функцией.
видимо, из-за того, что пути ОЧЕНЬ длинные, отображение получилось не полным, без начала пути, т.е. название файла с расширением и название основной директории есть, а названий диска и четырех директорий, предшествующих основной, не поместились.
Не в "ОЧЕНЬ длинности" дело. C "неполным путем" типа ..\..\ это на самом деле вопрос механизма относительных ссылок в пути к файлу. При желании разобраться - погуглите самостоятельно. Некоторая неприятность заключается в том, что путь изменится, если файл, содержащий ссылки, открывать не на сайте, а после сохранения на своем диске. У меня после сохранения файла все пути по моей формуле АДРЕСССЫЛКИ восстановились полностью и перешли в категорию http//.
Честно говоря, я бы, не особо тратя время на разборки, просто составил сцепкой адрес гиперссылки из общей константы начала пути (как говорите, 4 директории) и заключительного имени файла (или имени файла и некоторых предшествующих директорий, после 4-х, если файлы сканов у вас хранятся не в одной директории). В общем, как было сделано в другой недавней теме форума, ссылку на которую я давал выше. При таком подходе вы будете хорошо контролировать ситуацию, так как составляющие детали гиперссылки у вас будут храниться в ячейках как обычный текст и превращаться в живую гиперссылку только в ячейке с этой функцией.Gustav
Здравствуйте! Помогите чайнику Очень срочно надо - прочитала тему но мало что поняла. Есть таблица. Наименование поставщика, а в соседней ячейки гиперссылка. При нажатии происходит переход на сайт поставщика. Мне нужна в ячейке - прямая ссылка на сайт, чтоб был доступен поиск.
Здравствуйте! Помогите чайнику Очень срочно надо - прочитала тему но мало что поняла. Есть таблица. Наименование поставщика, а в соседней ячейки гиперссылка. При нажатии происходит переход на сайт поставщика. Мне нужна в ячейке - прямая ссылка на сайт, чтоб был доступен поиск.ДЖЕННА