Como posso criar um hiperlink para as seções específicas de um arquivo HTML no Excel?

8

Eu tenho um arquivo HTML que inclui âncoras dentro dele. Eu sou capaz de chegar a uma seção específica através de um navegador, se eu especificar o nome da âncora, então quando eu escrevo
file://<html_path>/<html_file>.html#<anchor_name>
na caixa de endereço do meu navegador, o arquivo é aberto e rola para a seção correta.

Se eu colocar o mesmo link em uma função HYPERLINK no Excel, o link apenas abrirá a página da Web, cortando a parte # e não rolará para a seção especificada. Se eu colocar um link para uma página da web com uma parte âncora na função HYPERLINK , parece funcionar corretamente, portanto, http:// links com # não serão aparados e ainda funcionarão.

A pesquisa no Google retorna esta postagem no fórum e Vários artigos da KB que declaram o hash não podem ser usados em um nome de arquivo dentro do escritório, embora seja um caractere de nome de arquivo válido. A mesma página afirma que isso foi resolvido no Excel 2010, mas estou usando a versão 2010 e, aparentemente, ainda é um problema.

Existe uma solução para isso? Eu pretendo vincular cada linha a uma seção diferente no arquivo de destino, e há mais de 1000 linhas, portanto, a opção de dividir o arquivo html original em vários ou gerar URLs separados para cada seção e vincular ao em vez disso criaria uma desordem arquivos.

    
por JohnoBoy 06.01.2013 / 12:12

4 respostas

2

Tente isso. Para cada linha, você precisará de duas colunas. O primeiro conterá o nome do seu favorito para cada linha. O segundo conterá um hiperlink apontando para si mesmo.

Para inserir hiperlinks de auto-referência para várias linhas, execute uma macro como esta:

Sub AddHyperlinksPointingToOwnCell()

   For i = 1 To 100

   Range("A" & i).Select
   ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
       "Sheet1!A" & i, TextToDisplay:="Click Here!"

   ActiveCell.Offset(1, 0).Select

   Next i

End Sub

Agora você precisa de um sub para abrir o navegador no local correto. Edite isso para que os caminhos do arquivo e do navegador estejam corretos:

Sub GoToBookmark()

    Dim ThisRow As Integer
    Dim ThisCol As Integer
    Dim BookmarkName As String

    ThisRow = ActiveCell.Row
    ThisCol = ActiveCell.Column
    BookmarkName = Cells(ThisRow, ThisCol - 1).Value
        'This is looking in the cell to the left for the bookmark name

    If BookmarkName = "" Then
        Exit Sub
    End If

    Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE " & _
        "C:\PathRoot\Folder\filename.html#" & BookmarkName & ", vbNormalFocus"

End Sub

Finalmente, você precisará adicionar um evento Worksheet_FollowHyperlink para a planilha que contém sua lista:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Run ("GoToBookmark")
End Sub

Espero que isso deva ser feito!

    
por 10.01.2013 / 13:39
0

Aqui está outra solução para você, se você não quiser usar o código VBA, ainda poderá usar a função "hyperlink" do Excel. Aqui está um guia passo a passo para fazer isso.

arquivo online: Passo 1: digamos que o nome do seu arquivo seja: link Passo 2: agora adicione seus nomes de âncora em A1: A4
Core_Duo
Core_Solo
Core_2_Duo
Core_i7
Passo 3: na célula B2 digite isto:

=HYPERLINK("http://en.wikipedia.org/wiki/Core_i3#"&A2,"A2")  

Passo 4: clique em & arrastar para aplicar para o restante das células
Testado trabalhando !!!

    
por 17.01.2013 / 22:32
-1

Se eu entendi bem a sua pergunta aqui está um trabalho arround Fonte = aqui WORKAROUND Para contornar esse problema, use um dos seguintes métodos. Método 1

Renomeie o arquivo com um nome que não inclua o sinal de sustenido e edite ou recrie o hiperlink.

Para obter mais informações sobre como renomear um arquivo no Windows, consulte a documentação impressa do Windows ou a Ajuda on-line.

Para editar o hiperlink, siga estas etapas:

Para o Office 2003 e versões anteriores do Office: Clique com o botão direito do mouse na célula que contém o hiperlink do problema. No menu de atalho que aparece, aponte para hiperlink e clique em Editar hiperlink. Na caixa Digite o arquivo ou nome da página da Web, digite o nome do arquivo que você está vinculando a. Se você não souber o nome do arquivo, clique em Arquivo e navegue até o arquivo. Clique em OK.

Para os programas do Office 2007 e Office 2010: Clique com o botão direito do mouse na célula que contém o hiperlink do problema e aponte para Editar hiperlink. Na caixa Endereço, digite o nome do arquivo ao qual você está vinculando. Se você não souber o nome do arquivo, use as ferramentas de pesquisa na linha Examinar ... para localizar o arquivo. Selecione o arquivo e clique em OK. Método 2

Use o comando Colar como hiperlink:

Para o Office 2003 e versões anteriores: Abra o documento que você está tentando vincular (que contém o sinal # no nome). Copie a célula que você deseja vincular. No seu documento, no menu Editar, clique em Colar como hiperlink.

Para os programas do Office 2007 e Office 2010: Abra o documento ao qual você está tentando vincular. Este é o documento que contém o sinal # no nome. Copie a célula que você deseja vincular. No seu documento, clique na célula em que você deseja que o hiperlink apareça. Na guia Início, clique na seta abaixo, clique em Colar no grupo Área de Transferência e, em seguida, clique em Colar como Hiperlink

se você estiver usando o código VBA, esta linha pode ser de ajuda. Eu testei isso. Ele está trabalhando tanto no Chrome como no firefox ActiveSheet.Hyperlinks.Add Anchor: = Selection, Address: =     "C: \ caminho \ para \ seu \ arquivo.htm", SubAddress:="nameOfYourAnchor", TextToDisplay: =     "texto para exibir")

aqui nameOfYourAnchor sem o # Sym por exemplo, se o seu link for C: / Usuários / [Usuário] / Desktop / Intel Core - Wikipedia, o livre encyclopedia.htm # Core_i3 seu código será ( ActiveSheet.Hyperlinks.Add Anchor: = Seleção, Endereço: =         "C: / Usuários / Usuário / Desktop / Intel Core - Wikipedia, a enciclopédia gratuita.htm",         Subendereço:="Core_i3", TextToDisplay: =         "texto para exibir" )
espero que isso tenha ajudado.

    
por 10.01.2013 / 18:05
-1

Os itens a seguir geralmente funcionam no Windows 7 com o Excel 2007. O arquivo é colocado com a planilha. O conteúdo da célula:

= HYPERLINK ("dump_faults_current_leg_bite.htm # BiteRec_000", "registro BITE 1/35")

Existem alguns PCs desktop que estão tendo problemas com este link, no entanto, recebendo o erro "Não é possível abrir o arquivo especificado".

    
por 27.11.2013 / 19:15