Salvar extensão XLS independente da versão do Office?
Pessoal, preciso gravar uma planilha em excel mais no formato XLS e não XLSX como faz estas versões do 2007 acima.
Fiz assim (Estou usando Delphi 5)
procedure TF_Calculo.SalvaPlanilha(Planilha: Variant);
var
sVersaoExcel: String;
begin
//Salva a planilha
//Se a versão do excel form 2007 ou superior salva em XLSX
sVersaoExcel := Format('Excel Version %s: ', [Planilha.Version]);
if sVersaoExcel >= 'Excel Version 12.0' then
CaminhoAnexo := 'C:\Temp\Inadimplentes.xlsx'
//Se a versão do excel for inferior ao 2007 então salva no formato XLS
else
CaminhoAnexo := 'C:\Temp\Inadimplentes.xls';
if FileExists(CaminhoAnexo) then
DeleteFile(CaminhoAnexo);
// o SaveAs permite que vc salve automáticamente o relatório gerado
Planilha.ActiveWorkbook.SaveAs(CaminhoAnexo);
//Para garantir -> Se ocorrer um erro e não criou o arquivo
//para anexar então não envia o email
if not(FileExists(CaminhoAnexo)) then
begin
ShowMessage('');
Exit;
end;
end;
Mais como tem muito que não tem a versão 2007 acima, não estão conseguindo abrir na extensão XLXS,
e o computador que uso não posso saber qual versão esta o excel.
Fiz assim (Estou usando Delphi 5)
procedure TF_Calculo.SalvaPlanilha(Planilha: Variant);
var
sVersaoExcel: String;
begin
//Salva a planilha
//Se a versão do excel form 2007 ou superior salva em XLSX
sVersaoExcel := Format('Excel Version %s: ', [Planilha.Version]);
if sVersaoExcel >= 'Excel Version 12.0' then
CaminhoAnexo := 'C:\Temp\Inadimplentes.xlsx'
//Se a versão do excel for inferior ao 2007 então salva no formato XLS
else
CaminhoAnexo := 'C:\Temp\Inadimplentes.xls';
if FileExists(CaminhoAnexo) then
DeleteFile(CaminhoAnexo);
// o SaveAs permite que vc salve automáticamente o relatório gerado
Planilha.ActiveWorkbook.SaveAs(CaminhoAnexo);
//Para garantir -> Se ocorrer um erro e não criou o arquivo
//para anexar então não envia o email
if not(FileExists(CaminhoAnexo)) then
begin
ShowMessage('');
Exit;
end;
end;
Mais como tem muito que não tem a versão 2007 acima, não estão conseguindo abrir na extensão XLXS,
e o computador que uso não posso saber qual versão esta o excel.
Adriano Dolce
Curtidas 0
Respostas
Adriano Dolce
29/06/2011
Resolvido, faltava apenas um parametro no SaveAs
Planilha.ActiveWorkbook.SaveAs(CaminhoAnexo, 56);
Simples assim
Obrigado pessoal.
Planilha.ActiveWorkbook.SaveAs(CaminhoAnexo, 56);
Simples assim
Obrigado pessoal.
GOSTEI 0