Notifications
Clear all

Erro no Listview

3 Posts
2 Usuários
0 Reactions
1,248 Visualizações
(@nxtzr)
Posts: 13
Active Member
Topic starter
 

Bom dia pessoal!

To desde ontem agarrado numa situação aqui e não consigo resolver nem achar nada parecido em lugar nenhum.

Eu tenho duas listview adicionadas numa planilha, e quando eu rodo o código para atualiza-las ele me retorna o erro 380 - Valor da propriedade é inválido.
A propriedade em questão é a linha que adiciona o cabeçalho, conforme o código no final da postagem.

Esse código serve para adicionar os cabeçalhos e puxar as informações de um banco de dados do access.
Está dando erro na linha " .ColumnHeaders.Add Text:="Eq.", Width:=30 " e em todas as outras do método " .ColumnHeaders.Add ".

Obs:

Esta planilha funciona perfeitamente no PC onde eu a desenvolvi, mas quando mudo de PC ela não funciona.
No PC que eu usei para desenvolver utilizo o Office 2010, e neste aqui o Office 2013. Será que tem alguma coisa haver?
Já comparei as referências e procurei por referências mais atualizadas no Office 2013, mas não encontrei nada diferente além das referências ao Excel e ao Office (no 2010 é 14.0 e no 2013 é 15.0)

Alguém tem alguma idéia?

Código:

Sub pop_disponivel()
'On Error Resume Next
Dim ComandoSQL As String

ListView41.ColumnHeaders.Clear
ListView41.ListItems.Clear
With ListView41
.Gridlines = True
.FullRowSelect = True
.View = lvwReport
.ColumnHeaders.Add Text:="Eq.", Width:=30
.ColumnHeaders.Add Text:="Matrícula", Width:=65, Alignment:=2
.ColumnHeaders.Add Text:="Responsável", Width:=180
.ColumnHeaders.Add Text:="Gestão", Width:=75, Alignment:=2
.ColumnHeaders.Add Text:="MEC", Width:=50, Alignment:=2
.ColumnHeaders.Add Text:="SOL", Width:=50, Alignment:=2
.ColumnHeaders.Add Text:="MONT", Width:=50, Alignment:=2
End With
ComandoSQL = "SELECT * FROM con_MO"

Call Conecta

'Atribui a variável objeto de BD a execução dos comandos SQL
Set consulta = banco.OpenRecordset(ComandoSQL)

'Tratamento de erro de acesso aos dados. Se houver erro, desvia o comando para o rótulo Sai
On Error Resume Next

ListView41.ListItems.Clear

While Not consulta.EOF
Set list = ListView41.ListItems.Add(Text:=consulta(0)) 'n serviço
list.SubItems(1) = consulta(1) 'titulo
list.SubItems(2) = consulta(2) 'exec
list.SubItems(3) = consulta(3) 'desc
list.SubItems(4) = consulta(4) 'parada
list.SubItems(5) = consulta(5) 'data
list.SubItems(6) = consulta(6) 'data
consulta.MoveNext
Wend

ComandoSQL = "SELECT SUM(Mecanico), SUM(Soldador), SUM(Montador) FROM con_MO"
'Atribui a variável objeto de BD a execução dos comandos SQL
Set consulta = banco.OpenRecordset(ComandoSQL)

Set list = ListView41.ListItems.Add(Text:="") 'n serviço
list.SubItems(3) = " Total:"
list.SubItems(4) = consulta(0)
list.SubItems(5) = consulta(1) 'exec
list.SubItems(6) = consulta(2) 'desc
Plan2.Range("A4").Value = consulta(0)
Plan2.Range("B4").Value = consulta(1)
Plan2.Range("C4").Value = consulta(2)

Call Desconecta

End Sub

 
Postado : 27/01/2015 7:06 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Você chegou a ver se no PC com o Office 2013 ele é o 64 bits?

O arquivo mscomclt.ocx só roda em 32 bits, pelo o que pesquisei. Aqui resolvi o problema assim...

Anexa ela aqui que eu tento roda no meu Office 2013 e te falo se esse é o problema.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 27/01/2015 7:24 am
(@nxtzr)
Posts: 13
Active Member
Topic starter
 

Curiosamente o PC com Office 2010 é 64bits e o com Office 2013 é 32bits.

Era pra rodar nesse aqui e não no outro então né?
Estranho...

Testei outra listview numa nova planilha, e também não deu certo.
Independente da planilha, não consigo trabalhar com listview nesse PC.

 
Postado : 27/01/2015 8:21 am