Negritando células no Excel

09/09/2004

Pessoal...

Pesquisei bastante e ainda não encontrei comandos apropriados para negritas células em uma planilha do Excel que estou gerando a partir de uma query...

Tenho conseguido personalizar o tamanho das células, as bordas, mesclas, etc...

Mas agora estou precisando deixar alguns títulos em negrito, e ainda não encontrei uma solução para isso... Eis alguns trechos do programa:

     
     MSExcel := CreateOleObject(´Excel.Application´);
     MSExcel.Workbooks.Add;
     MSExcel.Workbooks[1&93;.WorkSheets&91;1&93;.Name := ´RelExcel´;
     Sheet := MSExcel.Workbooks&91;1&93;.WorkSheets&91;´RelExcel´&93;;
     ColumnRange := MSExcel.WorkBooks&91;1&93;.WorkSheets&91;´RelExcel´&93;.Columns;
     ColumnRange.NumberFormat := ´@´;

     lin := 1;
     qRelCMPRO.first;

     xrange := ´A´+IntToStr(lin)+´:O´+IntToStr(lin);
     MSExcel.Range[xrange&93;.HorizontalAlignment := -4108; // Centralizado
     MSExcel.Range&91;xrange&93;.Mergecells := True;           // Mesclar


-------   AQUI ESTÃO ALGUNS TESTES QUE USEI   --------
//      MSExcel.Range&91;xrange&93;.Font.FontStyle := ´Negrito´;
//      Sheet.Cells&91;lin,1&93;.Font.FontStyle := ´Negrito´;
//      MSExcel.Workbooks&91;1&93;.Sheets&91;1&93;.Cells&91;lin,1&93;.Font.FontStyle := ´Negrito´;

     Sheet.Cells&91;lin,1&93;.Value := qRelCMPROLOCDES.Value;
     Inc(lin);

     ......




Alguém sugere algo???


Ffsombra

Respostas

09/09/2004

Lucas Silva

Não testei, mais dá uma olhada no código.
    MSExcel.ActiveCell.FormulaR1C1 = "lucas" // um exemplo
    With MSExcel.ActiveCell.Characters(Start:=1, Length:=5).Font
        MSExcel.Name = "Arial"
        MSExcel.FontStyle = "Negrito"
      End; 



Responder Citar

09/09/2004

Lucas Silva

MSExcel.ActiveCell.Characters(Start:=1, Length:=5).Font.FontStyle = "Negrito" 


Descosidere o with de cima.


Responder Citar

09/09/2004

Ffsombra

Não....... não funcionou.........


Responder Citar

09/09/2004

Sandra

ffsombra,

Não sei qual a versão do Excel e Delphi você está utilizando, porém, encontrei uma referência sobre Excel XP com Delphi 6 em um livro. :P

Adaptando ao seu código, experimente assim para formatar as células em negrito:

MSExcel.Range[xrange&93;.Font.Bold := 1;



:D Boa sorte!!


Responder Citar

09/09/2004

Ffsombra

Sandra, estou utilizando Delphi 7 e Office 2000...

Mesmo assim, testei sua dica, e mesmo assim, não funcionou...

Ainda aguardo outra solução...


Responder Citar

10/09/2004

Ffsombra

Ninguém????


Responder Citar

11/09/2004

Sandra

ff,

Pesquisei novamente e (acho que) encontrei o problema. Experimente assim:
Sheet.Range[xrange&93;.Font.Bold := true;

Uma parte do código que você postou na 1ª mensagem estava ´um pouquinho´ diferente. E no meu anterior, a atribuição para alterar o negrito da fonte estava ligado ao ´Excel.Application´, sendo que deveria ser modicado no ´Sheet´ (Sheet := MSExcel.Workbooks[1].WorkSheets[´RelExcel´]). Portanto, teste novamente e veja se o erro persiste. :D

Caso queira ler o material que encontrei: [url=http://www.mansano.com/delphi/excel.htm]Gerando uma Planilha e Imprimindo a partir do Excel[/url] do Ricardo Mansano.

Mãos a obra!! :wink:


Responder Citar

13/09/2004

Ffsombra

poxa vida, obrigado, Sandra, mas o erro ainda persiste....


Responder Citar