VB6 COM EXCEL
Comecei a construir relatórios de fechamento, no Excel. Ótimo a Empresa esta satisfeita, feliz da vida. Mais apesar de ter tomado cuidado com o encerramento das variáveis de objeto, a rotina não executa duas vezes seguidas. Tenho que fechar o programa e abrir de novo para que a rotina funcione. Alguém já passou por isso?
Set eapp = CreateObject([Ô]excel.application[Ô])
Set EwkB = eapp.Workbooks.Add
Set Ewks = EwkB.Sheets(3)
eapp.Application.Visible = True
Sheets([Ô]Plan1[Ô]).Select
Sheets([Ô]Plan1[Ô]).Name = [Ô]Detalhado[Ô]
[ô] ao final da rotina
Set Ewks = Nothing
Set EwkB = Nothing
Set eapp = Nothing
Set eapp = CreateObject([Ô]excel.application[Ô])
Set EwkB = eapp.Workbooks.Add
Set Ewks = EwkB.Sheets(3)
eapp.Application.Visible = True
Sheets([Ô]Plan1[Ô]).Select
Sheets([Ô]Plan1[Ô]).Name = [Ô]Detalhado[Ô]
[ô] ao final da rotina
Set Ewks = Nothing
Set EwkB = Nothing
Set eapp = Nothing
Smanut está faltando você finalizar o Excel com o close
sim observei que vários colegas que usam o mesmo recurso salva o arquivo e fecha o excel, não pensei em fazer isso. Pensei em deixar o aquivo aberto para o usuário decidir se que salvar ou não
será que não posso fazer assim?
será que não posso fazer assim?
Creio que não.
Execute o comando CLOSE e só depois LIBERE da memória.
Execute o comando CLOSE e só depois LIBERE da memória.
Smamute,
Coloque um CommonDialag no seu projeto
e adapte o seguinte comando ao seu projeto,
Antes de instanciar o excel.
NomeArquivo = [Ô][Ô] & Format(Date, [Ô]ddmmyy[Ô]) & Format(Time, [Ô]hhmmss[Ô]) & [Ô]_Moviementação_de_embalagens[Ô]
[ô]Abre caixa para salvar
[ô]CancelMe = False
On Error GoTo Common
With CommonDialog1
.CancelError = True
.DialogTitle = [Ô]Selecione a paste em que você deseja salvar...[Ô]
.Filter = [Ô]*.xls[Ô]
.FileName = NomeArquivo
.ShowSave
NomeArquivo = .FileName
End With
Common:
If Err.Number = 32755 Then
Exit Sub
End If
Desta forma o usário pode escolher o local para salvar.
Coloque um CommonDialag no seu projeto
e adapte o seguinte comando ao seu projeto,
Antes de instanciar o excel.
NomeArquivo = [Ô][Ô] & Format(Date, [Ô]ddmmyy[Ô]) & Format(Time, [Ô]hhmmss[Ô]) & [Ô]_Moviementação_de_embalagens[Ô]
[ô]Abre caixa para salvar
[ô]CancelMe = False
On Error GoTo Common
With CommonDialog1
.CancelError = True
.DialogTitle = [Ô]Selecione a paste em que você deseja salvar...[Ô]
.Filter = [Ô]*.xls[Ô]
.FileName = NomeArquivo
.ShowSave
NomeArquivo = .FileName
End With
Common:
If Err.Number = 32755 Then
Exit Sub
End If
Desta forma o usário pode escolher o local para salvar.
Tópico encerrado , respostas não são mais permitidas