2016-03-09 3 views
1

У меня этот код, чтобы установить различные параметры печати:Почему установка ширины и высоты страниц для печати не применяется?

private void ConfigureByCustomerForPrinting() 
{ 
    _xlSheet.PageSetup.PrintArea = "A1:" + 
     GetExcelTextColumnName(
      _xlSheet.UsedRange.Columns.Count) + 
      _xlSheet.UsedRange.Rows.Count; 
    _xlSheet.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape; 
    _xlSheet.PageSetup.FitToPagesWide = 1; 
    _xlSheet.PageSetup.FitToPagesTall = 100; 
    _xlSheet.PageSetup.Zoom = false; 

    _xlSheet.PageSetup.LeftMargin = _xlApp.Application.InchesToPoints(0.5); 
    _xlSheet.PageSetup.RightMargin = _xlApp.Application.InchesToPoints(0.5); 
    _xlSheet.PageSetup.TopMargin = _xlApp.Application.InchesToPoints(0.5); 
    _xlSheet.PageSetup.BottomMargin = _xlApp.Application.InchesToPoints(0.5); 
    _xlSheet.PageSetup.HeaderMargin = _xlApp.Application.InchesToPoints(0.5); 
    _xlSheet.PageSetup.FooterMargin = _xlApp.Application.InchesToPoints(0.5); 
} 

Когда лист генерируется, он представляет значение альбомной ориентации, но, как можно увидеть ниже:

enter image description here

.. .большая ширина (широкая) и высота (высокая) установлены на 1 и 100, соответственно, это не выбранная радиокнопка. Вместо этого устанавливается и выбирается «Adjust to -% normal size». Зачем? Я считаю, что это, вероятно, хорошо, но пользователь хочет он установлен в 1 и 100.

+1

попробуйте установить Zoom to false перед настройкой FitToPagesWide и FitToPagesTall –

+0

Это было сделано; если вы хотите немного заполнить его и сделать ответ, я помечаю его как таковой. –

ответ

3

Вы должны установить Zoom свойство false перед тем наборов FitToPagesWide и FitToPagesTall:

_xlSheet.PageSetup.Zoom = false; 
_xlSheet.PageSetup.FitToPagesWide = 1; 
_xlSheet.PageSetup.FitToPagesTall = 100; 

Из MSDN:

Если свойство Zoom имеет значение True, свойство FitToPagesWide игнорируется.

Если свойство Zoom имеет значение True, свойство FitToPagesTall игнорируется.

Смежные вопросы