Pergunte aqui
2

Criar ListBox

perguntadas 2018-07-25 01:16:09 +0200

imagem do gravatar de joaorochaj

updated 2018-07-26 01:08:33 +0200

imagem do gravatar de Grafeno

Tem como criar uma listbox que puxa os parametros da planilha ai quando eu adicionar mais um registro ai eu clicar no botao ele inserir,sem ter que mexer no codigo fonte.

C:\fakepath\Sem título 2.ods

LINK ABAIXO É DE UMA PLANILHA QUE UTILIZO PARA IMPRIMIR IDENTIFICAÇÃO ,ESTA UMA BAGUNÇA MAS DA PRA APRIMORAR NELA UTILIZO VBA E BASIC

C:\fakepath\IDENTIFICAÇÃO CARGA 2018.ods

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

@joaorochaj, não entendi exatamente o que você quer. Pretende jogar as 3 colunas (nome, idade e cidade) no listbox? Onde quer adicionar o novo registro? No listbox ou na planilha?

imagem do gravatar de GrafenoGrafeno ( 2018-07-26 01:31:05 +0200 )editar

@Grafeno eu pretendo jogar as 3 colunas no listbox,eu quero adicionar na planilha. Por exemplo,se a a COLUNA A,B,C tem DADOS ate a linha 11 ,ai na list box mostra ate a linha 11 das coluna A,B,C

imagem do gravatar de joaorochajjoaorochaj ( 2018-07-28 05:17:01 +0200 )editar

Na verdade, o listbox não suporta colunas. No máximo é possível emular colunas com uma fonte monoespaçada e uma função que coloque espaços entre os dados. Vou trabalhar um exemplo e postar...

imagem do gravatar de GrafenoGrafeno ( 2018-07-28 18:08:13 +0200 )editar

2 Respostas

5

respondidas 2018-07-29 02:07:48 +0200

imagem do gravatar de Grafeno

updated 2018-07-29 02:14:24 +0200

Boa noite,

Segue um exemplo de como fica carregar os dados na listbox emulando colunas:

Descrição da imagem

.

ListBoxColunas.ods

.

Dim oDialogo As Object

Sub abrir

   DialogLibraries.LoadLibrary("Standard")
   'Usando a variável declarada no começo do módulo'
   oDialogo = CreateUnoDialog( DialogLibraries.Standard.getByName("Dialog1") )
   'Carregar'
   oDialogo.Execute()
   oDialogo.Dispose()

End Sub

Sub CarregarDados
   oDoc = ThisComponent
   oPlan = oDoc.Sheets.getByName("Planilha1")

   oListBox = oDialogo.getControl("ListBox1")
   oListBox.Model.removeAllItems

   For i = 1 to UltimaLinha(oPlan)
     sCol1 = oPlan.getCellByPosition(0,i).String
     sCol2 = oPlan.getCellByPosition(1,i).String
     sCol3 = oPlan.getCellByPosition(2,i).String

     oListBox.AddItem( EspacarColuna(sCol1,30) &_
                       EspacarColuna(sCol2,10) &_
                       EspacarColuna(sCol3,20), i )
   Next i   
End Sub

Function EspacarColuna( sCol, nTam )
   EspacarColuna = Left(sCol & String(nTam," "),nTam) & " "
End Function

Function UltimaLinha( oPlan )
   oCursor = oPlan.createCursor
   oCursor.gotoEndOfUsedArea(True)
   UltimaLinha = oCursor.Rows.Count-1
End Function

Atte,

editar assinalar como ofensivo Excluir Link mais

Comentários

1

Obrigado ,é isso mesmo que eu preciso, muito obrigado mesmo,eu ainda sou novo nessa linguagem do libreoffice,entao meu conhecimento é pouco e basico. Só mais uma duvida,tem alguma macro que seleciona a ultima linha da listbox? ou seja assim que eu clicar ele seleciona a ultima linha da listbox direto nela.

imagem do gravatar de joaorochajjoaorochaj ( 2018-07-30 16:51:55 +0200 )editar

@Grafeno ...Vou utilizar esse procedimento para minha planilha de controle de RNC para trazer as ações propostas no formulário. Caiu como uma luva.

imagem do gravatar de ConradoConrado ( 2018-07-31 12:49:47 +0200 )editar
1

respondidas 2018-07-31 06:55:18 +0200

imagem do gravatar de joaorochaj

updated 2018-08-01 01:46:42 +0200

eu utilzei e funcionou agora só tenho que tentar pra colocar as colunas em ordem por igual.


Descrição da imagem


DEU CERTO ! Descrição da imagem

editar assinalar como ofensivo Excluir Link mais

Comentários

2

@joaorochaj, para as colunas ficarem alinhadas é preciso mudar a fonte do listbox para uma fonte monoespaçada, como Liberation Mono, Courier New, etc.

imagem do gravatar de GrafenoGrafeno ( 2018-07-31 23:18:25 +0200 )editar
1

@joaorochaj , ficou show

imagem do gravatar de ConradoConrado ( 2018-08-01 18:12:25 +0200 )editar
1

@Conrado, obrigado , eu estou cada dia mudando algo,futuramente coloco ele melhorado.

imagem do gravatar de joaorochajjoaorochaj ( 2018-08-03 04:26:58 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2018-07-25 01:16:09 +0200

Lidas: 73 vezes

Última atualização: Aug 01