Pergunte aqui
1

Macro para posição da célula ativa

perguntadas 2017-08-30 04:37:11 +0200

esta mensagem está marcada como wiki comunitário

Esta mensagem é um wiki. Qualquer pessoa com karma >75 é bem-vinda para a melhorar.

Meu objetivo é pegar a posição da célula ativa. Na internet peguei o código abaixo e após execução diz:

"Propriedade ou método não encontrado: getCellAddress "

Alguém pode me dizer como consertar.

Sub get_cell_address()
Dim oActiveCell
Dim oConv
    oActiveCell = ThisComponent.getCurrentSelection()

    oConv = ThisComponent.createInstance("com.sun.star.table.CellAddressConversion")
    oConv.Address = oActiveCell.getCellAddress

    msgbox  oConv.UserInterfaceRepresentation & _
      "  " & oConv.PersistentRepresentation
End Sub
editar alterar tag assinalar como ofensivo fechar mesclar Excluir

1 Resposta

1

respondidas 2017-08-30 23:48:10 +0200

imagem do gravatar de Grafeno

Boa noite,


O código só funciona se o objeto selecionado no Calc for uma célula individual. Caso a seleção seja de um intervalo de células, um desenho, gráfico, etc, o código irá falhar.

Uma forma de resolver é testar que tipo de objeto está na seleção e alertar o usuário para corrigir.

Sub get_cell_address()
Dim oActiveCell
Dim oConv
    oActiveCell = ThisComponent.getCurrentSelection()

    'Testar se é uma célula individual. Se não for, avisar o usuário.'
    If oActiveCell.ImplementationName <> "ScCellObj" Then
       Msgbox "Por favor, selecione uma célula individual!", 48,"Aviso"       
       Exit Sub
    End If

    oConv = ThisComponent.createInstance("com.sun.star.table.CellAddressConversion")
    oConv.Address = oActiveCell.getCellAddress

    msgbox  oConv.UserInterfaceRepresentation & _
      "  " & oConv.PersistentRepresentation
End Sub


Um adendo:
Celula ativa (ActiveCell) é um assunto recorrente aqui no Ask. Veja a resposta abaixo para outras soluções:


Atte,

editar assinalar como ofensivo Excluir Link mais

Comentários

Resolvi meu problema, obrigado.

imagem do gravatar de Daniellopes2006Daniellopes2006 ( 2017-09-03 17:40:27 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2017-08-30 04:37:11 +0200

Lidas: 39 vezes

Última atualização: Sep 03