Powershell 从word文档中找到的范围中提取节

Powershell 从word文档中找到的范围中提取节,powershell,ms-word,Powershell,Ms Word,下面的代码工作正常,我们得到了需要提取的起点和终点,但我无法获取range.set/select以工作 我能够从下面得到范围,只需要额外的,并保存到CSV文件 $found=$paras2.Range.SetRange($startPosition,$endPosition)-这件东西不起作用 $file = "D:\Files\Scan.doc" $SearchKeyword1 = 'Keyword1' $SearchKeyword2 = 'Keyword2' $word = N

下面的代码工作正常,我们得到了需要提取的起点和终点,但我无法获取range.set/select以工作

我能够从下面得到范围,只需要额外的,并保存到CSV文件

$found=$paras2.Range.SetRange($startPosition,$endPosition)
-这件东西不起作用

$file = "D:\Files\Scan.doc"
$SearchKeyword1 =  'Keyword1'
$SearchKeyword2 =  'Keyword2'    

$word = New-Object -ComObject Word.Application
$word.Visible = $false
$doc = $word.Documents.Open($file,$false,$true)
$sel = $word.Selection 
$paras = $doc.Paragraphs 
$paras1 = $doc.Paragraphs
$paras2 = $doc.Paragraphs

foreach ($para in $paras) 
{ 
    if ($para.Range.Text -match $SearchKeyword1)
    {
        Write-Host $para.Range.Text
        $startPosition = $para.Range.Start
    }
} 
foreach ($para in $paras1) 
{ 
    if ($para.Range.Text -match $SearchKeyword2)
    {
        Write-Host $para.Range.Text
        $endPosition = $para.Range.Start
    }
} 

Write-Host $startPosition
Write-Host $endPosition
$found = $paras2.Range.SetRange($startPosition, $endPosition)

# cleanup com objects
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($doc) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($word) | Out-Null
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()

这行代码就是问题所在

$found = $paras2.Range.SetRange($startPosition, $endPosition)
当通过开始和结束位置指定范围时,有必要相对于文档进行指定。上面的代码指的是
段落
集合。此外,它使用
设置范围
,但应仅使用
范围
方法。因此:

$found = $doc.Range.($startPosition, $endPosition)

$found=$doc.Range($startPosition,$endPosition)。Select()Write Host$found不打印任何内容,不知道如何将其导出到csv或doc文件如果$found不是$null,请尝试类似于
$found.Text | Out File“C:\found.txt”
的操作,然后开始和结束位置的
Write Host
语句返回什么?90945,94679-写入主机打印这些数字@Cindymister