SAVEAS do EXCEL

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

SAVEAS do EXCEL

Mensagem 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.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

SAVEAS do EXCEL

Mensagem 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 )
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

SAVEAS do EXCEL

Mensagem por Hasse »

Bom dia Jairo.

Vou usar a tua sugestão.
Obrigado.
Um Bom FDS.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

SAVEAS do EXCEL

Mensagem por asimoes »

Lembrando que se o arquivo estiver uso, vai falhar o saveas()
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

SAVEAS do EXCEL

Mensagem 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.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

SAVEAS do EXCEL

Mensagem por asimoes »

Hasse,

Dá erro sim, eu trato com begin sequence...
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

SAVEAS do EXCEL

Mensagem 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
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

SAVEAS do EXCEL

Mensagem por Hasse »

Bom dia.

AHHAAAAAAA !!!!!

Muito legal esta rotina.
Ainda hoje vou implantar.

Obrigado.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Responder