Página 1 de 1

SAVEAS do EXCEL

Enviado: 06 Set 2018 22:10
por Hasse
Boa noite colegas.

Estou apanhando com SAVEAS do Excel.

Uso assim:

Código: Selecionar todos

cPArqXls := "FulanoDeTal.xls"
oExcel:ActiveWorkbook:SaveAs( c_ArqXls ) 
Num segundo momento necessito, com frequência relativa, sobre-escrever este arquivo.
Qual a sintaxe para que este procedimento se efetue automaticamente, sem que o operador tenha que confirmar.

Obrigado pela atenção.

SAVEAS do EXCEL

Enviado: 07 Set 2018 00:16
por Jairo Maia
Olá Hasse,

Tente assim,

Código: Selecionar todos

cPArqXls := "FulanoDeTal.xls"

FileDelete( cPArqXls )  // deleta o arquivo se ele existe. Se não existe nada faz.

oExcel:ActiveWorkbook:SaveAs( c_ArqXls )

SAVEAS do EXCEL

Enviado: 07 Set 2018 08:53
por Hasse
Bom dia Jairo.

Vou usar a tua sugestão.
Obrigado.
Um Bom FDS.

SAVEAS do EXCEL

Enviado: 07 Set 2018 09:28
por asimoes
Lembrando que se o arquivo estiver uso, vai falhar o saveas()

SAVEAS do EXCEL

Enviado: 07 Set 2018 14:14
por Hasse
Boa tarde.

Esta será a dificuldade maior, pois é imprevisível o que o usuário descuidado irá fazer.
O pior é que o Excel não avisa que o SaveAs() falhou.

Acredito que antes de deletar irei pesquisar com File() se o arquivo já existe. Se positivo incremento o nome com 1, 2, 3 e assim por diante.

Ou ainda, se o arquivo existir, avisar o usuário para fechar o arquivo aberto.
Acredito que será a melhor opção, pois a responsabilidade será transferida. E teremos somente um arquivo válido, o último.

SAVEAS do EXCEL

Enviado: 07 Set 2018 19:09
por asimoes
Hasse,

Dá erro sim, eu trato com begin sequence...

SAVEAS do EXCEL

Enviado: 07 Set 2018 19:15
por asimoes
Exemplo:

Código: Selecionar todos

         BEGIN SEQUENCE WITH __BreakBlock()
            fErase("D:\EXCEL\ASSIM.XLS")
            oExcel:ActiveWorkbook:SaveAs("D:\EXCEL\ASSIM.XLS")
            oDW:DialogWask("A planilha foi salva em D:\EXCEL com o nome ASSIM.XLS", "Atenção")
            oExcel:Visible:=.T.
            lVerifica:=.F.
         RECOVER USING oErro
            oDW:DialogWask("A planilha ASSIM está aberta, por favor feche-a.", "Erro", , "E")
         END

SAVEAS do EXCEL

Enviado: 08 Set 2018 08:51
por Hasse
Bom dia.

AHHAAAAAAA !!!!!

Muito legal esta rotina.
Ainda hoje vou implantar.

Obrigado.