Ir ao conteúdo
  • Cadastre-se
daniellopes2006

Célula ativa no ooo basic.

Posts recomendados

Olá pessoal.

Estou migrando algumas macros do MS Office para LibreOffice.

Uma das coisas que não consigo fazer é encontrar uma equivalência para ActiveCell() do MS Office.

A estrutura da minha macro depende disso.

Alguém poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

 

No caso, o comum é usar o método CurrentSelection juntamente com um teste para verificar se a seleção é uma célula individual:

Sub Main
	oDoc = ThisComponent
	oCel = oDoc.CurrentSelection
	
	If oCel.ImplementationName <> "ScCellObj" Then
	   MsgBox "Por favor, selecione uma única célula."
	   Exit Sub
	End If

	vCel = oCel.Value
	sCel = oCel.String

	MsgBox "Valor: " & vCel & Chr(10) & "Texto: " & sCel
End Sub

 

Em todo caso, se precisar realmente de um comportamento mais parecido ao do ActiveCell do VBA, então pode usar a função abaixo em seu código:

Function getActiveCell()
Dim as1(), lSheet&,lCol&,lRow$, sDum as String,bErr as Boolean
   oView = ThisComponent.CurrentController
   as1()  = Split(oView.ViewData, ";")
   lSheet = CLng(as1(1))
   sDum = as1(lSheet +3)
   as1() = Split(sDum, "/")
   on error goto errSlash
      lCol = CLng(as1(0))
      lRow = CLng(as1(1))
   on error goto 0
   getActiveCell = oView.Model.getSheets.getByIndex(lSheet).getcellByPosition(lCol,lRow)
exit Function
errSlash:
   if NOT(bErr) then
      bErr = True
      as1() = Split(sDum, "+")
      resume
   endif
End Function

 

Um exemplo de como usar a função acima:

Sub Main2
	oCel = getActiveCell

	vCel = oCel.Value
	sCel = oCel.String

	MsgBox "Valor: " & vCel & Chr(10) & "Texto: " & sCel
End Sub

 

 

[]s.

TianK

Compartilhar este post


Link para o post
Compartilhar em outros sites
Este tópico está parado há muito tempo. Certifique-se que a sua mensagem tem a ver com o tema sendo discutido. Obrigado.

Junte-se à conversa

Você pode postar agora e cadastrar-se depois. Se você tem uma conta, faça o login para postar.

Visitante
Responder

×   Você colou conteúdo com formatação.   Restore formatting

  Só é possível ter até 75 emoticons.

×   O link foi automaticamente convertido para mostrar o conteúdo.   Clique aqui para mostrá-lo como link comum

×   Seu texto anterior foi restaurado.   Limpar o editor

×   You cannot paste images directly. Upload or insert images from URL.






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!