Hi Danasegarane and Somesh
Here is my code and it works perfect if I take off the code that I am trying to do (in red)!
I will try to use yours code, but I want to put it in footer not just one time.
Thanks for yours help.
//Constantes excel
var xlUp = -4162;
var xlTop = -4160;
var xlBottom = -4107;
var xlCenterAcrossSelection = 7;
var xlCenter = -4108;
var xlJustify = -4130;
var xlLeft = -4131;
var xlRight = -4152;
var xlContinuous = 1;
var xlLastCell = 11;
var xlMedium = -4138;
var xlEdgeLeft = 7;
var xlEdgeTop = 8;
var xlEdgeBottom = 9;
var xlEdgeRight = 10;
var xlInsideVertical = 11;
var xlInsideHorizontal = 12;
var PREPARE_PAR = "";
var TITRE = "&b&20Rapport hebdomadaire(Confirmé)";
var SERVICE = "&20Direction des travaux publics\nDivision de la conception et de la réalisation des travaux";
var MACRO_DATE = "&20Date de révision: &D";
var MACRO_PAGINATION = "&20Page &P de &N";
function exportExcel(url)
{
window.open(url);
}
function exportReportInExcel(reportName)
{
copyReport("excel","excel");
if(reportName == "RPTCONFIRME")
pasteRPTCONFIRMEInExcel();
window.close();
}
function openAndPasteInExcel()
{
var excel = new ActiveXObject('Excel.Application');
var workBooks = excel.Workbooks.Add;
var excelSheet = workBooks.Worksheets(1);
excelSheet.Application.Visible = true;
excelSheet.Activate();
excel.ActiveSheet.Range('A1').Select;
excel.ActiveSheet.PasteSpecial(0,false,false);
return excel;
}
function excelPageSetup(excel, headerRange)
{
excel.ActiveSheet.Cells.EntireRow.AutoFit;
excel.ActiveSheet.Cells.EntireColumn.AutoFit;
excel.ActiveSheet.Range('A4').Select;
excel.ActiveSheet.PageSetup.PrintTitleRows = headerRange;
//xlPortrait = 1, xlLandscape = 2
excel.ActiveSheet.PageSetup.Orientation = 2;
//xlPaperLetter = 1 (8.5x11), xlPaperTabloid = 3 (11x17), xlPaperLegal= 5 (8.5x14)
try
{
excel.ActiveSheet.PageSetup.PaperSize = 3;
}
catch (ex)
{
}
//xlDownThenOver = 1, xlOverThenDown = 2
excel.ActiveSheet.PageSetup.Order = 2;
//Entête
excel.ActiveSheet.PageSetup.LeftHeader = SERVICE;
excel.ActiveSheet.PageSetup.CenterHeader = TITRE;
//Pied de page
strPicName = "C:\Teste\LEGENDE_HEBDOMADAIRE_EXCEL.png";
excel.ActiveSheet.PageSetup.LeftFooterPicture.Filename=strPicName;
excel.ActiveSheet.PageSetup.LeftFooter = "&G";
excel.ActiveSheet.PageSetup.CenterFooter = MACRO_PAGINATION;
excel.ActiveSheet.PageSetup.RightFooter = MACRO_DATE;
excel.ActiveSheet.PageSetup.Zoom = false;
excel.ActiveSheet.PageSetup.FitToPagesWide = 1;
excel.ActiveSheet.PageSetup.FitToPagesTall = 32767;
}
function copyReport(startElementId, endElementId)
{
var report = document.body.createTextRange();
report.moveToElementText(document.getElementById(startElementId));
var end = document.body.createTextRange();
end.moveToElementText(document.getElementById(endElementId));
report.setEndPoint('EndToEnd', end);
report.execCommand('Copy');
}
function pasteRPTCONFIRMEInExcel()
{
var excel = openAndPasteInExcel();
//Suppression des images
// try
// {
// for (var i = excel.ActiveSheet.Shapes.Count; i > 0; --i)
// excel.ActiveSheet.Shapes.Item(i).Delete();
// }
// catch (ex)
// {
// alert(excel.ActiveSheet.Shapes[i]);
// }
//Suppression des liens
try
{
for (var j = excel.ActiveSheet.Hyperlinks.Count;j > 0; --j)
excel.ActiveSheet.Hyperlinks(j).Delete();
}
catch (ex)
{
}
// LastRow = excel.Range("A65536").End(xlUp).Row;
// excel.Cells(LastRow+2,1).Interior.ColorIndex = 6;
// excel.Cells(LastRow+2,2).Value = "À discuter";
// excel.Cells(LastRow+4,1).Interior.ColorIndex = 38;
// excel.Cells(LastRow+4,2).Value = "Planification intégrer";
excel.Range("A:N").font.size=10;
//Mise en page des colones
excel.range("A1:N1").font.bold=true;
excel.range("A1:N1").Interior.ColorIndex = 41;
//Presentation du titre
excel.Rows("1:1").HorizontalAlignment=xlCenter;
excel.ActiveWindow.SplitRow = 1;
excel.ActiveWindow.FreezePanes = true;
excelPageSetup(excel, "$1:$1");
excel.Columns("A:A").ColumnWidth = 11;
excel.Columns("B:B").ColumnWidth = 16;
excel.Columns("C:C").ColumnWidth = 30;
excel.Columns("E:E").ColumnWidth = 11;
excel.Columns("G:G").ColumnWidth = 16;
excel.Columns("H:H").ColumnWidth = 18;
excel.Columns("I:I").ColumnWidth = 17;
excel.Columns("K:K").ColumnWidth = 45;
excel.Columns("L:L").ColumnWidth = 22;
excel.Columns("M:M").ColumnWidth = 21;
excel.Columns("N:N").ColumnWidth = 12;
excel.Columns("A:J").VerticalAlignment = xlCenter;
excel.Columns("L:N").VerticalAlignment = xlCenter;
excel.Columns("O:Q").Delete;
excel.Columns("O:O").ColumnWidth = 0.1;
}
/********************************* runOnLoad *********************************/
function runOnLoad(f)
{
if (runOnLoad.loaded)
f();
else
runOnLoad.funcs.push(f);
}
runOnLoad.funcs = [];
runOnLoad.loaded = false;
runOnLoad.run = function() {
if (!runOnLoad.loaded)
{
for(var i=0; i < runOnLoad.funcs.length; i++)
{
try {runOnLoad.funcs[i]()}
catch(e) {}
}
runOnLoad.loaded = true;
delete runOnLoad.funcs;
delete runOnLoad.run;
}
};
if (window.addEventListener)
window.addEventListener("load", runOnLoad.run, false);
else if (window.attachEvent)
window.attachEvent("onload", runOnLoad.run);
else
window.onload = runOnLoad.run;