Нечетные и четные страницы нижнего колонтитула - страница X из Y в PowerShell - PullRequest
0 голосов
/ 27 ноября 2018

Я хотел бы генерировать текстовые документы в Powershell с разными нижними колонтитулами на четных и нечетных страницах.

Я хотел бы, чтобы текст с данными находился слева, а Page X of Y - справа на одной странице иобратная комбинация на следующей странице.

Первая проблема в формате X of Y.И вторая проблема у меня с размещением текста с полем в одном нижнем колонтитуле.Если я поместил поле, текст исчезал, а когда я помещал текст, поле исчезало.

PowerShell добавляет коды полей в нижний колонтитул слова MS - в моем случае не работает.

Буду благодарен за вашу помощь.

$dat = Get-Date -Format yyyy-MM-dd
$word = New-Object -ComObject word.application
$word.Visible = $false
$doc = $word.documents.add()
$doc.PageSetup.OddAndEvenPagesHeaderFooter = $true
$selection = $word.Selection
# ...
# content
# ...
$section = $doc.sections.item(1)
$footer = $section.Footers(1)
$Range = $footer.Range
$Range.Text = "Some text($dat)"
$Range.ParagraphFormat.Alignment = 0
$footer.PageNumbers.Add(2)
$Range.Font.Size = 10

$footer = $section.Footers(3)
$Range = $footer.Range
$Range.Text = "Some text($dat)"
$Range.ParagraphFormat.Alignment = 2
$footer.PageNumbers.Add(0)
$Range.Font.Size = 10

$outputPath = 'C:\FileToDocx.docx'  
$doc.SaveAs($outputPath)
$doc.Close()
$word.Quit()

Проблема в том, что $footer.PageNumbers.Add() является глобальным и не зависит от моего нечетного и четного диапазона нижнего колонтитула.

Также я пытался решить мою проблему путем замены PageNumbers на комбинацию $Range.Fields.Add($Range, 26) и $Range.Fields.Add($Range, 33), например,

$fieldsPage = $Range.Fields.Add($Range, 33)
$sumField = $fieldsPage.Result.Text
$fieldsNumPages = $Range.Fields.Add($Range, 26)
$sumField += ' of ' + $fieldsNumPages.Result.Text
$range.Text = "Some text($dat)`t`tPage $sumField"

, но в этом случае у меня есть статическая строка.Я не знаю, как использовать эти два типа полей со статическим текстом с $dat в нижнем колонтитуле без преобразования в строку.Нижний колонтитул заставляет меня использовать поля, потому что только они могут быть разными на каждой странице.

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