1

我试图通过划分为部分并使linktoprevios为false来在每个页面上动态放置不同的页眉和页脚,但它给出了这个错误消息

在此对象上找不到属性“LinkToPrevious”;确保它存在并且是可设置的。在 D:\work\scripts_done\abcd\config.ps1:19 char:36 + $Doc.LastSection.HeadersFooters。<<<< LinkToPrevious = $false; + CategoryInfo : InvalidOperation: (LinkToPrevious:String) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFound

这有什么问题......我的文档在一页中只占用 26 行我试图在每一页上插入页眉页脚

$target_dir="D:\ABCD"
$dir="$target_dir"
$val=ls $dir
$filename="D:\ABCD\er.txt"
$filedata = (get-content $filename)
$Word = New-Object -ComObject Word.Application;
$Word.Visible = $true;
$Doc = $Word.Documents.Add();
$selection.Font.Name="Courier New"  
$selection.Font.Size=11
$selection.Font.Spacing=0.5
$selection=$word.Selection
$count=0
foreach ( $line in $filedata ){
        if ( $count -eq 26 ){
            $Doc.LastSection.HeadersFooters.Header.Add("abcd $count");
            $Doc.AddSection();
            $Doc.LastSection.HeadersFooters.LinkToPrevious = $false;
            $count=0;
        }
        $count++;
}
4

1 回答 1

0

AFAICR LinkToPrevious 不是用于该部分,而是用于单个页眉/页脚。但是 HeadersFooters 集合无论如何都是一个奇怪的东西。我在这里考虑 VBA,而不是 PowerShell,但我什至不确定你的线路

$Doc.LastSection.HeadersFooters.Header.Add("abcd $count");

将工作。假设 $Doc.LastSection 为您提供了一个 Word Section 对象,我认为您需要更像以下内容,并针对 PowerShell 进行了适当调整

$Doc.LastSection.Headers(wdHeaderFooterPrimary).Range.Text = "abcd $count"
$Doc.AddSection()
$Doc.LastSection.Headers(wdHeaderFooterPrimary).LinkToPrevious = $false;
于 2013-09-27T12:02:14.663 回答