Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Grafeno editaram um answer.

Olá,

Talvez a rotina abaixo possa ajudá-lo. Ela percorre as linhas utilizadas da planilha ativa e 
retorna (exibe) o conteúdo:

Sub PercorrerExibir()

Dim oPlanAtiva as Object

Dim oCelOrigem as Object

Dim Cont, Lin, Col as Long

'Seleciona a Planilha Ativa

oPlanAtiva = ThisComponent.getCurrentController().getActiveSheet()

'Verifica 'Função para a quantidade de Linhas utilizadas

Lin = LinhasUsadas( oPlanAtiva ) - 1

)

'Percorre as linhas preenchidas e exibe os conteúdos das células

For Cont = 0 to Lin

Lin - 1

oCelOrigem = OPlanAtiva.getCellByPosition( 0,Cont )

Select Case oCelOrigem.Type

Case com.sun.star.table.CellContentType.EMPTY

MsgBox "Conteúdo: <vazio>"

Case com.sun.star.table.CellContentType.VALUE

MsgBox "Conteúdo: " & oCelOrigem.Value

Case com.sun.star.table.CellContentType.TEXT

MsgBox "Conteúdo: " & oCelOrigem.String

Case com.sun.star.table.CellContentType.FORMULA

MsgBox "Conteúdo: " & oCelOrigem.Formula

End Select

Next

End Sub

REM ------ FUNÇÃO PARA CONTAR LINHAS USADAS ------

Function  LinhasUsadas( oPlan as Object  ) as Long

Dim oCursor as Object

oCursor = oPlan.createCursor

oCursor.gotoEndOfUsedArea(True)

LinhasUsadas = oCursor.Rows.Count

End Function

...Atte,Grafeno

In reply to samuelesoares's question:

Libreoffice Basic‏

Tags:

basic, macros, Calc.

Boa tarde,Gostaria de saber como construir uma macro usando Basic que percorre todas as linhas de 
uma planilha e acesse algumas células destas linhas e montar uma segunda planilha com os resultados 
obtidos.O problema não é a macro em si e sim as funções para recuperar valores de células, 
percorrer linhas, etc.Já procurei na internet mas sempre acho a respeito Libreoffice Basic coisas 
mais relacionadas a edição, mas material assim como acessar linhas, células ou criar planilhas via 
código não.

Para mudar a frequência e conteúdo dos alertas, visite seu perfil de usuário.

Se achar que essa mensagem foi enviada por engano, avise o administrador do forum em 
evgeny.fadeev@gmail.com.

Atenciosamente,Administrador do
-- 
Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org
# Informações sobre os comandos disponíveis (em inglês):
  mande e-mail vazio para usuarios+unsubscribe@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
  usuarios+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/usuarios/

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.