Not able to set header and footer in excel on multiple (even or odd pages)
-
Below is my code but note working same header footer is set to all page, please suggest best solution for this. oWorkSheets2007 = oWorkBook2007.GetWorksheets(); oWorkSheet2007 = oWorkSheets2007.GetItem(COleVariant((short)sheetNum)); XLS2007::Window owindObj = oApp2007.GetActiveWindow(); XLS2007::Pages oPages = owindObj.GetPanes(); oPageSetup = oWorkSheet2007.GetPageSetup(); oPages = oPageSetup.GetPages(); long a = oPages.GetCount(); int l=0; for( l=l+1;l<=a;l++) { oPage= oPages.GetItem(COleVariant((short)l)); oPageSetup = oWorkSheet2007.GetPageSetup(); oPageSetup.SetPrintErrors(1); oPageSetup.SetAlignMarginsHeaderFooter(HFI.bAlignWithMargins); oPageSetup.SetScaleWithDocHeaderFooter(HFI.bScaleWithDoc); oPageSetup.SetCenterHeader(LPCTSTR(HFI.FirstCentreHeader)); oPageSetup.SetCenterFooter(LPCTSTR(HFI.FirstCentreFooter)); oPageSetup.SetLeftHeader(LPCTSTR(HFI.FirstLeftHeader)); oPageSetup.SetLeftFooter(LPCTSTR(HFI.FirstLeftFooter)); oPageSetup.SetRightHeader(LPCTSTR (HFI.FirstRightHeader)); oPageSetup.SetRightFooter(LPCTSTR(HFI.FirstRightFooter)); oPageSetup.SetCenterHeader(LPCTSTR(HFI.OddCentreHeader)); oPageSetup.SetCenterFooter(LPCTSTR(HFI.OddCentreFooter)); oPageSetup.SetLeftHeader(LPCTSTR(HFI.OddLeftHeader)); oPageSetup.SetLeftFooter(LPCTSTR(HFI.OddLeftFooter)); oPageSetup.SetRightHeader(LPCTSTR(HFI.OddRightHeader)); oPageSetup.SetRightFooter(LPCTSTR(HFI.OddRightFooter));
-
Below is my code but note working same header footer is set to all page, please suggest best solution for this. oWorkSheets2007 = oWorkBook2007.GetWorksheets(); oWorkSheet2007 = oWorkSheets2007.GetItem(COleVariant((short)sheetNum)); XLS2007::Window owindObj = oApp2007.GetActiveWindow(); XLS2007::Pages oPages = owindObj.GetPanes(); oPageSetup = oWorkSheet2007.GetPageSetup(); oPages = oPageSetup.GetPages(); long a = oPages.GetCount(); int l=0; for( l=l+1;l<=a;l++) { oPage= oPages.GetItem(COleVariant((short)l)); oPageSetup = oWorkSheet2007.GetPageSetup(); oPageSetup.SetPrintErrors(1); oPageSetup.SetAlignMarginsHeaderFooter(HFI.bAlignWithMargins); oPageSetup.SetScaleWithDocHeaderFooter(HFI.bScaleWithDoc); oPageSetup.SetCenterHeader(LPCTSTR(HFI.FirstCentreHeader)); oPageSetup.SetCenterFooter(LPCTSTR(HFI.FirstCentreFooter)); oPageSetup.SetLeftHeader(LPCTSTR(HFI.FirstLeftHeader)); oPageSetup.SetLeftFooter(LPCTSTR(HFI.FirstLeftFooter)); oPageSetup.SetRightHeader(LPCTSTR (HFI.FirstRightHeader)); oPageSetup.SetRightFooter(LPCTSTR(HFI.FirstRightFooter)); oPageSetup.SetCenterHeader(LPCTSTR(HFI.OddCentreHeader)); oPageSetup.SetCenterFooter(LPCTSTR(HFI.OddCentreFooter)); oPageSetup.SetLeftHeader(LPCTSTR(HFI.OddLeftHeader)); oPageSetup.SetLeftFooter(LPCTSTR(HFI.OddLeftFooter)); oPageSetup.SetRightHeader(LPCTSTR(HFI.OddRightHeader)); oPageSetup.SetRightFooter(LPCTSTR(HFI.OddRightFooter));
The (incomplete)
for()
loop looks a bit odd in that it is using the same values for the header and footer and the set methods are called twice. If you are wanting the header/footer on the even pages to be different than the header/footer on the odd pages then you are going to have to check whetherl
is odd or even and use a different value accordingly."One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles