Automação Delphi7 -gt; ExcelXP

18/01/2006

0

Pessoal, tudo certo?
Bem, estou tentando exportar um relatório para Excel. O arquivo está sendo gerado corretamente não fosse pelos seguintes fatores:

1) Não estou conseguindo alterar o nome da planilha. Por causa disso depois que eu gero o arquivo os nomes ainda ficam Plan1, Plan2, Plan3, etc. Na internet achei o seguinte comando:

Workbooks[1].Worksheets[1].Name := ´Nome´;

Mas o delphi aponta para um erro dizendo que a propriedade Name não existe.

2) Não consigo alterar a planilha para Landscape. Ela vem padrão Portrait. Encontrei na internet o comando:

ActiveSheet.PageSetup.Orientation := xlLandscape;

mas a propriedade PageSetup para mim é inválida. Como fazer então?

3) E queria fazer também com que após a inserção de todas as planilhas, que a primeira fosse ativada antes salvar o arquivo.

Inicialmente era só isso.

Até!


Delphi32

Delphi32

Responder

Posts

18/01/2006

Delphi32

putz... acho que descobri!

é o seguinte: muitos dos códigos que têm na internet usam códigos como por exemplo:

Workbooks[1].Worksheets[1].Name := ´Nome´;

Estava dando uma olhada pelos componentes da palheta Servers e lembrei que tinha um componente TExcelWorkSheet. Verifiquei que nesse componente havia a propriedade Name e tantas outras que eu estava procurando como por exemplo PageSetup. Mas pelo meu código que usa apenas um TExcelApplication não funcionava porque Worksheets.Item[´1´] não retorna um TExcelWorkSheet, mas sim uma interface IDispatch. Então eu fiz o seguinte:

with Worksheets.Item[´1´] as ExcelWorkSheet do
begin
   Name := ´blablabla´;
   PageSetup.Orientation := xlLandscape;
end;


funcionou blz![/code]


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar