IMPORTAR DADOS PLANILHA EXCEL
Bom dia amigos estou com uma dificuldade em importar os dados de uma planilha do excel que ja esteja aberta. Se fosse para capturar os dados e em seguida fechar eu usaria o codigo abaixo, mas a planilha fica aberta o tempo todo,(não posso fecha-la e em seguida abrir, pois os dados são atualizados por um programa externo direto no excel) e no meu relatorio eu tenho uma rotina que grava as informações a 10 minutos.mas sempre fica abrindo uma nova instancia no excel.
Private Sub Command1_Click()
Dim xl As New Excel.Application
Dim xlw As Excel.Workbook
Set xlw = xl.Workbooks.Open(App.Path & [Ô]\coluna.xls[Ô])
xlw.Sheets([Ô]Plan1[Ô]).Select
txtdata.Text = xlw.Application.Cells(1, 1).Value
txthora.Text = xlw.Application.Cells(1, 2).Value
xlw.Close True
Set xlw = Nothing
Set xl = Nothing
End Sub
Att
Obrigado
Osmar
Private Sub Command1_Click()
Dim xl As New Excel.Application
Dim xlw As Excel.Workbook
Set xlw = xl.Workbooks.Open(App.Path & [Ô]\coluna.xls[Ô])
xlw.Sheets([Ô]Plan1[Ô]).Select
txtdata.Text = xlw.Application.Cells(1, 1).Value
txthora.Text = xlw.Application.Cells(1, 2).Value
xlw.Close True
Set xlw = Nothing
Set xl = Nothing
End Sub
Att
Obrigado
Osmar
Tente abrir como somente leitura.
Set xlw = xl.Workbooks.Open(Filename:=App.Path & [Ô]\coluna.xls[Ô], ReadOnly:=[txt-color=#0000f0]True[/txt-color])
Ou assim:
Set xlw = xl.Workbooks.Open(App.Path & [Ô]\coluna.xls[Ô], , True)
Abraço
Set xlw = xl.Workbooks.Open(Filename:=App.Path & [Ô]\coluna.xls[Ô], ReadOnly:=[txt-color=#0000f0]True[/txt-color])
Ou assim:
Set xlw = xl.Workbooks.Open(App.Path & [Ô]\coluna.xls[Ô], , True)
Abraço
Se a planilha estiver com formato [Ô]tabela[Ô], tipo, dados em linhas como se fosse uma tabela mesmo, você pode abrir como se fosse um banco de dados normal, com uma conexão ADO...
Boa tarde, obrigado pelo retorno, Mitsueda infelizmente nao funcionou abrindo como leitura, na primeira vez que roda funciona, na proxima da erro de automação,
Kerplunk, os dados estão em locais especificos na planilha nao esta no formato tabela.
Obrigado
Kerplunk, os dados estão em locais especificos na planilha nao esta no formato tabela.
Obrigado
Estranho...
Essa rotina roda muitas vezes?
Porque eu percebi que vc não está fechando o application Excel, se vc roda muitas vezes essa rotina vc estará abrindo varias instacias Excel...
Talvez vc não possa fechar seu application excel por outros motivos, então o interessante é capturar uma instancia aberta usando GetObject([Ô]Excel.Application[Ô])
xlw.Close True
xl.QuitSet xlw = Nothing
Set xl = Nothing
Abraço
Essa rotina roda muitas vezes?
Porque eu percebi que vc não está fechando o application Excel, se vc roda muitas vezes essa rotina vc estará abrindo varias instacias Excel...
Talvez vc não possa fechar seu application excel por outros motivos, então o interessante é capturar uma instancia aberta usando GetObject([Ô]Excel.Application[Ô])
xlw.Close True
xl.QuitSet xlw = Nothing
Set xl = Nothing
Abraço
Ola Fabio, quero agradecer muito a vc, pela dica do [Ô]GetObject([Ô]Excel.Application[Ô])[Ô], consegui fazer o sistema rodar sem problemas.
Muito obrigado
Abraços
Osmar
Muito obrigado
Abraços
Osmar
Tópico encerrado , respostas não são mais permitidas