cTitulo := 'Planilha de Teste'; objExcel := CreateOleObject('Excel.Application'); objExcel.Caption := cTitulo;
VIOFAdic:=0; VTJuros:=0; VTIOF:=0; if ceIOFAdic.Value > 0 THEN VIOFAdic:=ceIOFAdic.Value/100; if ceTJuros.Value > 0 THEN VTJuros:=ceTJuros.Value/100; if ceTIOF.Value > 0 THEN VTIOF:=ceTIOF.Value/100; objExcel.Workbooks.Add; objExcel.Workbooks[1].Sheets.Add; objExcel.Workbooks[1].WorkSheets[1].Name := cTitulo; Sheet := objExcel.Workbooks[1].WorkSheets[cTitulo]; Sheet.Range['B2'] := 'BORDERÔ DE COBRANÇA'; Sheet.Range['B4','C4'].Borders.LineStyle := 1; Sheet.Range['B4','C4'].Borders.Weight := 2; Sheet.Range['B4','C4'].Borders.ColorIndex := 1; Sheet.Range['B4'].ColumnWidth := 13.29; Sheet.Range['B4'] := 'DATA .:'; Sheet.Range['C4'].ColumnWidth := 10; Sheet.Range['C4'] := eData.Text; Sheet.Range['B5','C5'].Borders.LineStyle := 1; Sheet.Range['B5','C5'].Borders.Weight := 2; Sheet.Range['B5','C5'].Borders.ColorIndex := 1; Sheet.Range['B5'] := 'IOF ADICIONAL'; Sheet.Range['C5'].NumberFormat := '0,00%'; Sheet.Range['C5'] := VIOFAdic; Sheet.Range['B6','C6'].Borders.LineStyle := 1; Sheet.Range['B6','C6'].Borders.Weight := 2; Sheet.Range['B6','C6'].Borders.ColorIndex := 1; Sheet.Range['B6'] := 'TAXA . .:'; Sheet.Range['C6'].NumberFormat := '0,00%'; Sheet.Range['C6'] := VTJuros; Sheet.Range['E4','F4'].Borders.LineStyle := 1; Sheet.Range['E4','F4'].Borders.Weight := 2; Sheet.Range['E4','F4'].Borders.ColorIndex := 1; Sheet.Range['E4'] := 'TAR ..:'; Sheet.Range['E4'].ColumnWidth := 9.86; Sheet.Range['F4'].NumberFormat := 'R$ #.##0,00_);[Vermelho](R$ #.##0,00)'; Sheet.Range['F4'] := ceTarifa.Value; Sheet.Range['E5','F5'].Borders.LineStyle := 1; Sheet.Range['E5','F5'].Borders.Weight := 2; Sheet.Range['E5','F5'].Borders.ColorIndex := 1; Sheet.Range['E5'] := 'IOF .. .:'; Sheet.Range['F5'].NumberFormat := '0,00%'; Sheet.Range['F5'] := VTIOF; Sheet.Range['A9','K9'].Borders.LineStyle := 1; Sheet.Range['A9','K9'].Borders.Weight := 2; Sheet.Range['A9','K9'].Borders.ColorIndex := 1; Sheet.Range['A9','K9'].VerticalAlignment := 2; Sheet.Range['A9','K9'].HorizontalAlignment := 3; Sheet.Range['A9'] := 'Nº FAT.'; Sheet.Range['A9'].ColumnWidth := 15; Sheet.Range['B9'] := 'VALOR/FAT.'; Sheet.Range['C9'] := 'VENCIM.'; Sheet.Range['D9'] := 'Nº DIAS'; Sheet.Range['E9'] := 'JUROS'; Sheet.Range['F9'] := 'TAR.'; Sheet.Range['G9'].ColumnWidth := 0; Sheet.Range['G9'] := 'Base Calculo IOF Adic'; Sheet.Range['H9'] := 'IOF Adic'; Sheet.Range['I9'].ColumnWidth := 0; Sheet.Range['I9'] := 'Cálculo IOF'; Sheet.Range['J9'] := 'IOF'; Sheet.Range['K9'] := 'SAL/LIQ'; Linha:=10; rxReceber.First; while not rxReceber.Eof do begin PColuna:='A'+ IntToStr(Linha); SColuna:='K'+ IntToStr(Linha); Sheet.Range[PColuna,SColuna].Borders.LineStyle := 1; Sheet.Range[PColuna,SColuna].Borders.Weight := 2; Sheet.Range[PColuna,SColuna].Borders.ColorIndex := 1; Sheet.Range[PColuna,SColuna].VerticalAlignment := 2; Sheet.Range[PColuna,SColuna].HorizontalAlignment := 3; Sheet.Cells[Linha,1]:=rxReceberNroFatura.AsString; Sheet.Cells[Linha,2].NumberFormat := 'R$ #.##0,00_);[Vermelho](R$ #.##0,00)'; Sheet.Cells[Linha,2]:=rxReceberVlrFatura.AsFloat; Sheet.Cells[Linha,3]:=rxReceberDtVencto.AsString; PColuna:='C'+ IntToStr(Linha); Sheet.Cells[Linha,4].NumberFormat := '0'; // AQUI E QUE DA O ERRO EU JA COLOQUEI 'SE' E 'IF' E MESMO ASSIM DA O ERRO Sheet.Cells[Linha,4].formula:='IF(('+PColuna+'-C$4)>0;'+PColuna+'-C$4;0)'; PColuna:='B'+ IntToStr(Linha); SColuna:='D'+ IntToStr(Linha); Sheet.Cells[Linha,5].NumberFormat := '0,00'; Sheet.Cells[Linha,5].formula:='='+PColuna+'*C$6/30*'+SColuna; PColuna:='D'+ IntToStr(Linha); Sheet.Cells[Linha,6].NumberFormat := '0,00'; // AQUI E QUE DA O ERRO EU JA COLOQUEI 'SE' E 'IF' E MESMO ASSIM DA O ERRO Sheet.Cells[Linha,6].formula:='=IF('+PColuna+'>0;F$4;0)'; PColuna:='B'+ IntToStr(Linha); SColuna:='E'+ IntToStr(Linha); Sheet.Cells[Linha,7].NumberFormat := '0,00'; Sheet.Cells[Linha,7].formula:='='+PColuna+'-'+SColuna; PColuna:='G'+ IntToStr(Linha); Sheet.Cells[Linha,8].NumberFormat := '0,00'; Sheet.Cells[Linha,8].formula:='='+PColuna+'*C$5'; PColuna:='D'+ IntToStr(Linha); Sheet.Cells[Linha,9].NumberFormat := '0,00000000000000000000%'; Sheet.Cells[Linha,9].formula:='=(((F$5/12)/30)*'+PColuna+')'; PColuna:='B'+ IntToStr(Linha); SColuna:='I'+ IntToStr(Linha); Sheet.Cells[Linha,10].NumberFormat := 'R$ #.##0,00_);[Vermelho](R$ #.##0,00)'; Sheet.Cells[Linha,10].formula:='='+PColuna+'-'+SColuna; PColuna:='B'+IntToStr(Linha)+'-E'+IntToStr(Linha)+'-F$5-H'+IntToStr(Linha)+'-J'+IntToStr(Linha); Sheet.Cells[Linha,11].NumberFormat := 'R$ #.##0,00_);[Vermelho](R$ #.##0,00)'; Sheet.Cells[Linha,11].formula:='='+PColuna; rxReceber.Next; Inc(Linha); end; objExcel.ActiveWorkBook.SaveAs(configuracao.dir_relatorio+'\DescontoDuplicata.xls'); objExcel.visible:=True; JA PROCUREI NA INTERNET E NENHUMA RESPOSTA QUE DESSE CERTO