У меня есть HTML-файл, который включает в себя якоря в нем. Я могу получить
file://<html_path>/<html_file>.html#<anchor_name>
доступ к определенному разделу через браузер, если я укажу имя привязки, поэтому, когда я пишу в адресной строке моего браузера, файл открывается и прокручивается до нужного раздела.
Если я помещаю ту же ссылку в HYPERLINK
функцию в Excel, она просто открывает веб-страницу, обрезает #
деталь и не прокручивает до указанного раздела. Если я помещу ссылку на веб-страницу с якорной частью в HYPERLINK
функцию, она, похоже, будет работать правильно, поэтому http://
ссылки с #
не будут обрезаны и будут работать.
Поиск в Google возвращает это сообщение на форуме и несколько статей в КБ, в которых говорится, что хеш не может использоваться в имени файла в офисе, хотя это допустимый символ имени файла. На той же странице указано, что это было решено в Excel 2010, но я использую версию 2010, и это, по-видимому, все еще проблема.
Есть ли обходной путь к этому? Я намереваюсь связать каждую строку с отдельным разделом в целевом файле, и существует более 1000 строк, поэтому возможность разбить исходный HTML-файл на несколько или создать отдельные URL-адреса для каждого раздела и ссылку на них создаст беспорядок в файлы.
источник
#
персонажа, см. статью WikiPedia , также обратите внимание на сообщение на форуме, и статьи из КБ, связанные с ним, используют то же имяОтветы:
Попробуй это. Для каждой строки вам понадобятся два столбца. Первый будет содержать название вашей закладки для каждой строки. Вторая будет содержать гиперссылку, указывающую на себя.
Чтобы вставить гиперссылки с самоссылкой для многих строк, запустите макрос следующим образом:
Теперь вам нужен саб, чтобы открыть браузер в правильном месте. Отредактируйте это так, чтобы пути к файлу и браузеру были правильными:
Наконец, вам нужно добавить событие Worksheet_FollowHyperlink для листа, содержащего ваш список:
Надеюсь, это должно сделать это!
источник
Вот еще одно решение для вас, если вы не хотите использовать кодирование VBA, вы все равно можете использовать функцию Excel «гиперссылка». Вот пошаговое руководство, чтобы сделать это.
онлайн-файл: Шаг 1: допустим, ваше имя файла: http://en.wikipedia.org/wiki/Intel_Core Шаг 2: теперь добавьте имена ваших якорей в A1: A4
Core_Duo
Core_Solo
Core_2_Duo
Core_i7
Шаг 3: в ячейку B2 введите это :
Шаг 4: нажмите и перетащите, чтобы подать заявку на остальные ячейки
Протестировано работает !!!
источник
file://C:/
это не сработает. Обидно, потому что было бы намного проще, если бы это сработало!Если я хорошо понимаю ваш вопрос, то вот работа вокруг источника = Здесь ВРЕМЕННОЕ РЕШЕНИЕ Чтобы обойти эту проблему, используйте один из следующих методов. Способ 1
Переименуйте файл с именем, которое не содержит знак фунта, а затем отредактируйте или заново создайте гиперссылку.
Для получения дополнительной информации о том, как переименовать файл в Windows, см. Печатную документацию Windows или интерактивную справку.
Чтобы изменить гиперссылку, выполните следующие действия:
Для Office 2003 и более ранних версий Office: щелкните правой кнопкой мыши ячейку, содержащую гиперссылку проблемы. В появившемся контекстном меню укажите «Гиперссылка» и нажмите «Изменить гиперссылку». В поле Введите имя файла или веб-страницы введите имя файла, на который вы ссылаетесь. Если вы не знаете имя файла, нажмите «Файл» и найдите файл. Нажмите ОК.
Для программ Office 2007 и Office 2010: щелкните правой кнопкой мыши ячейку, содержащую гиперссылку проблемы, и выберите пункт Изменить гиперссылку. В поле Адрес введите имя файла, на который вы ссылаетесь. Если вы не знаете имя файла, используйте инструменты поиска в строке Искать в ..., чтобы найти файл. Выберите файл и нажмите кнопку ОК. Способ 2
Используйте команду Вставить как гиперссылку:
Для Office 2003 и более ранних версий: откройте документ, на который вы пытаетесь сослаться (который содержит знак # в имени). Скопируйте ячейку, на которую вы хотите сослаться. В документе в меню «Правка» выберите пункт «Вставить как гиперссылку».
Для программ Office 2007 и Office 2010: Откройте документ, на который вы пытаетесь связать. Это документ, который содержит знак # в имени. Скопируйте ячейку, на которую вы хотите сослаться. В своем документе щелкните ячейку, в которой вы хотите разместить гиперссылку. На вкладке «Главная страница» щелкните стрелку под «Вставить» в группе «Буфер обмена», а затем нажмите «Вставить как гиперссылку».
если вы используете код VBA, эта строка может оказаться полезной. Я протестировал ее. Она работает как в chrome, так и в firefox
ActiveSheet.Hyperlinks.Add Anchor: = Selection, Address: = "C: \ path \ to \ your \ file.htm" , SubAddress: = "nameOfYourAnchor", TextToDisplay: = "текст для отображения")
здесь nameOfYourAnchor без # Sym, например, если ваша ссылка C: / Users / [Пользователь] / Desktop / Intel Core - Википедия, бесплатная encyclopedia.htm # Core_i3, ваш код будет ( ActiveSheet.Hyperlinks.Add Anchor: = Выделение, Адрес: = "C: / Пользователи / Пользователь / Рабочий стол / Intel Core - Википедия, бесплатный encyclopedia.htm", SubAddress: = "Core_i3", TextToDisplay: = "text to display" )
надеюсь, что это помогло.
источник
Следующее обычно работает в Windows 7 с Excel 2007. Файл размещается вместе с электронной таблицей. Содержимое ячейки:
= HYPERLINK ("dump_faults_current_leg_bite.htm # BiteRec_000", "BITE record 1/35")
Здесь есть некоторые настольные ПК, у которых возникают проблемы с этой ссылкой, однако появляется ошибка «Не удается открыть указанный файл».
источник