Суть проблемы в том, что русский офис(2003) несмотря на то что генерирует в макрос коды для страницы и кол-ва страниц в колонтитула на английском, при добавлении этих кодов из VB.NET(судя по найденным тамам проблема общая и для других языков, на SQL.RU вообще делфи обсуждали ) колонтитулы не отображаются верно. А ведь запись макроса с последующей адоптацией в скрипт для многих основной метод получения знаний(по крайней мере для меня он первый, а уже потом хэлп, MSDN, яндекс).
Например записываем макрос с добавлением "Страница X из Y". После удаления всего лишнего остаётся:
Sub Макрос1()
With ActiveSheet.PageSetup
.CenterFooter = "Страница &P из &N"
End With
End Sub
Что примечательно, в конструкторе колонтитула это выглядит иначе: "Страница &[Страница] из &[Страниц]"
В VB.NET кусок выглядит аналогично(я использовал для работы с экселем сборку Microsoft.Office.Interop.Excel). Из офиса макрос работает нормально, а вот при создании книги из VB.NET вместо "Страница 1 из 371" получается "Страница из " хотя если зайти в создание колонтитула видим законные(согласно записанному макросу) "Страница &P из &N"
Как выяснилось при прочтении статьи, локализованный офис не всегда принимает нелокализованные коды(формула в ячейке, кстати, тоже чувствительна к локализации - если попробовать в русском офисе использовать английскую функцию для суммы, например, можно в этом убедиться).
Так как приложение возможно будет запускаться не только с 2003-м и не только с руссифицированным, то вариант подставлять локализованные коды не подходит. Так вот в статье и предлагается указывать и английские коды и локализованные. В этом случае эксель игнорирует(и не отображает) те что не знает и отрабатывает знакомые:
Приводить всю процедуры смысла нет - проблема с конкретным свойством.
With oExcel.ActiveSheet.PageSetup
.CenterFooter = "Страница &С&P из &К&N"
End With
&С и &К - буквы русские!
В конструкторе теперь получается "Страница &[Страница]&P из &[Страниц]&N"
На выходе при печати - "Страница 1 из 371"
P.S. Не знаю насколько тянет на коллекцию, хотя несколько ценных часов на поиск этого решения я потратил, так что лишним не будет(как часть Вашей темы "WSH: преобразуем макрос VBA в скрипт VBScript" ).
_____________________
Источник решения - SQL.RU> Delphi> Нумерация страниц в Excel