Коды формата для верхнего / нижнего колонтитула первой страницы отличаются - PullRequest
0 голосов
/ 04 июня 2019

Я хочу установить другой верхний и нижний колонтитулы с VBA для первой страницы листа Excel 2013, которая должна быть напечатана.Верхний и нижний колонтитулы должны содержать такую ​​информацию, как номер страницы, имя активного листа и имя файла.Официальная документация Microsoft о кодах формата (https://docs.microsoft.com/en-us/office/vba/excel/concepts/workbooks-and-worksheets/formatting-and-vba-codes-for-headers-and-footers) предоставляет различные варианты для этого, и все эти коды формата работают правильно на каждой странице, кроме первой - они, кажется, назначаются по-разному (например, «& N» должно отображатьсяколичество страниц, но вместо этого отображается имя файла.) Как я могу использовать правильные коды формата для верхнего / нижнего колонтитула первой страницы?

Я пытался назначить эти коды формата для констант, но это неработать, потому что коды анализируются только тогда, когда они включены в строку верхнего или нижнего колонтитула. Я также записал макрос при изменении заголовков вручную (что работает правильно), но этот макрос также не дает правильного вывода.

Sub formatCodesTest()
    With ActiveSheet.PageSetup
        .DifferentFirstPageHeaderFooter = True
        .FirstPage.LeftHeader.Text = "&N"
    End With
    ActiveSheet.PrintPreview
End Sub

Я ожидал, что результатом будет количество страниц (как описано в документации Microsoft), но фактическим выводом будет имя файла.

1 Ответ

0 голосов
/ 05 июня 2019

Мне удалось обойти эту проблему. Вместо того, чтобы полагаться на документацию Microsoft, введите верхний / нижний колонтитул вручную в GUI и затем используйте Immediate Window (Crtl + G) для отладки и запроса содержимого соответствующего заголовка (например, ? ActiveSheet.PageSetup.FirstPage.RightHeader.Text). Затем вы получите правильные коды формата.

Если у кого-то еще есть идея, почему это происходит (и почему другие не могут воспроизвести это), я с радостью приму это как ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...