Pergunte aqui
0

Macro para abrir hiperlink sem mouse

perguntadas 2019-11-14 00:17:28 +0200

imagem do gravatar de Leandro Vieira

updated 2019-12-20 13:06:29 +0200

imagem do gravatar de Schiavinatto

Olá pessoal!

Precisaria de uma macro para abrir um hiperlink em uma célula ativa sem mouse, tipo essa do VBA, porém para executar no Basic:

Sub SimulateMouseClickonHyperlink()
ActiveCell.Hyperlinks(1).Follow
End Sub

fonte: ExtendOffice

Basicamente ao clicar no botão giratório quero acessar o hiperlink que está na célula destacada de amarelo, o endereço da célula varia mediante os endereços que vou salvando na planilha "albd" e mudando com botão giratório:

segue planilha em anexo para exemplo:

Abrir hiperlink.ods

Desde já agradeço!

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

imagem do gravatar de SchiavinattoSchiavinatto ( 2019-11-14 01:36:57 +0200 )editar

Seria ativada via macro acionada por botão:

    sub selecionar
    rem ----------------------------------------------------------------------
    rem define variables
    dim document   as object
    dim dispatcher as object
    rem ----------------------------------------------------------------------
    rem get access to the document
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

    rem ----------------------------------------------------------------------
    dim args1(0) as new com.sun.star.beans.PropertyValue
    args1(0).Name = "ToPoint"
    args1(0).Value = "$G$6"

    dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

...

A função hiperlink na célula $G$6, que me dará acesso à localização que desejo, ou seja a localização que a função irá gerar é variável, mediante botão giratório.

imagem do gravatar de Leandro VieiraLeandro Vieira ( 2019-11-17 00:47:18 +0200 )editar

@Leandro Vieira, esse hiperlink vai para local externo ou na próprio arquivo.

Seria algo assim, (https://ask.libreoffice.org/pt-br/que...)

mas não em Caixa de listagem e sim em Botão Giratório ?

imagem do gravatar de SchiavinattoSchiavinatto ( 2019-11-17 01:51:42 +0200 )editar

Vou editar o arquivo aqui, e compartilhar para facilitar, seria algo parecido a isso.

imagem do gravatar de Leandro VieiraLeandro Vieira ( 2019-11-19 23:18:32 +0200 )editar

@Leandro Vieira, de um exemplo desse hiperlink.

imagem do gravatar de SchiavinattoSchiavinatto ( 2019-12-02 20:59:27 +0200 )editar

A pergunta foi editada e coloquei um anexo para exemplo, os exemplos que observei na resposta está trabalhado com endereços fixos, no meu caso é variável.

imagem do gravatar de Leandro VieiraLeandro Vieira ( 2019-12-02 23:53:00 +0200 )editar
1

@Leandro Vieira, e se ao invés de "abrir clicando no hyperlink", você utilizar o comando activecell para recuperar o endereço da célula com base no spin button, colocar o conteúdo na célula numa variável e utilizar o procedimento open? (sendo se: o link do documento esteja no conteúdo da célula)

imagem do gravatar de ConradoConrado ( 2019-12-03 12:36:13 +0200 )editar

@Leandro Vieira, A Função HIPERLINK creio que é para ligações externas. No seu caso a planilha já esta aberta.

imagem do gravatar de SchiavinattoSchiavinatto ( 2019-12-03 12:37:33 +0200 )editar

@Leandro Vieira, veja arquivo teste 3 na resposta abaixo.

imagem do gravatar de SchiavinattoSchiavinatto ( 2019-12-03 13:12:08 +0200 )editar

2 Respostas

0

respondidas 2019-12-20 01:23:29 +0200

imagem do gravatar de Leandro Vieira

updated 2019-12-20 01:49:01 +0200

Agradeço aos comentários e pela contribuição da macro para se deslocar para endereço, uma vez que se utilizasse a função hiperlink teria que clicar na célula para me deslocar ao local, pois não conhecia outra forma.

Para que a macro fornecida pelo Gilberto Schiavinatto abra o endereço salvo no histórico em "albd" que está exibido em C11 utilizei a função "=INDIRETO(D8&".A"&G6)"; também, tive que inserir a fórmula: "=EXT.TEXTO(CÉL("FILENAME";INDIRETO(ENDEREÇO(LINHA( );COLUNA( );4)));LOCALIZARB("$";CÉL("FILENAME";INDIRETO(ENDEREÇO(LINHA( );COLUNA( );4))))+1;NÚM.CARACT(CÉL("FILENAME";INDIRETO(ENDEREÇO(LINHA( );COLUNA( );4))))-LOCALIZARB("$";CÉL("FILENAME";INDIRETO(ENDEREÇO(LINHA( );COLUNA( );4)))))&"!"&ENDEREÇO(LINHA( );COLUNA( );4)" na macro "copia_cola_end" acionada pelo botão de salvar localização (endereço),com nome da célula e aba, para quando estiver em outra planilha poder retroceder e avançar nas localizações salvas dentro do documento. Segue o arquivo:

Abrir hiperlink.ods

editar assinalar como ofensivo Excluir Link mais
1

respondidas 2019-11-17 02:28:44 +0200

imagem do gravatar de Schiavinatto

updated 2019-12-03 13:13:50 +0200

@Leandro Vieira, é algo assim que necessita:

No Botão giratório, escolher o Numero do locar a ir.

Ao retirar o cursor de cima do Botão, a macro é executada.

arquivo teste.


arquivo teste 2.

Com botões sensíveis, não necessário clicar


arquivo teste 3.

-----------------------------------------------------------------------------

ATENÇÂO:: Para dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Grato.

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

editar assinalar como ofensivo Excluir Link mais

Comentários

Como tive que complementar a resposta, marquei a minha como correta para finalizar a pergunta, todavia pontuei a sua, pois solucionou a principal dúvida, e não tem como marcar duas respostas corretas.

imagem do gravatar de Leandro VieiraLeandro Vieira ( 2019-12-20 02:02:38 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2019-11-14 00:17:28 +0200

Lidas: 379 vezes

Última atualização: Dec 20 '19