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é!
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
Curtir tópico
+ 0
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:
funcionou blz![/code]
é 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
Clique aqui para fazer login e interagir na Comunidade :)