Как посчитать количество напечатанных страниц в Excel для предварительного просмотра с C#? - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу знать общее количество напечатанных страниц дополнительно. Чтобы подсчитать количество напечатанных страниц перед печатью, я наберу go для печати, чтобы просмотреть счетное число. нажмите Файл -> Печать, чтобы просмотреть количество напечатанных страниц. enter image description here

Я могу посчитать количество напечатанных страниц на листе (на рисунке выше 2). Но когда я изменяю настройку печати на «всю книгу», номер страницы в окне предварительного просмотра изменится. Я не знаю, как узнать количество напечатанных страниц. enter image description here

Excel.Worksheet esh1 = oWB.Worksheets["List of holidays"];
MessageBox.Show(esh1.PageSetup.Pages.Count.ToString());

Можете ли вы помочь мне решить эту проблему. Спасибо.

1 Ответ

0 голосов
/ 27 февраля 2020

Вы можете попробовать это, как прокомментировал Ахмед Абдельхамид, с одним отличием - считайте страницы только для видимых листов:

            Excel.Workbook xlWB = Globals.ThisAddIn.Application.ActiveWorkbook; // or other way you get an instance of the workbook 
            long pagesCount = 0;

            foreach (Excel.Worksheet xlSht in xlWB.Sheets)
            {
                if (xlSht.Visible == Excel.XlSheetVisibility.xlSheetVisible)
                {
                    pagesCount += xlSht.PageSetup.Pages.Count;
                }
            }

            MessageBox.Show(pagesCount.ToString());
...