从MS Word表中提取没有项目符号的文本[Powershell 4.0]

时间:2016-08-17 08:53:14

标签: powershell powershell-v4.0

我想从某个特定的表格中提取ms字词中的一些文字: table and text

但是,当我执行代码时:

$objWord = New-Object -ComObject Word.Application
$objWord.Visible = $true
$filename = 'D:\test.docx'
$objDocument = $objWord.Documents.Open($filename)
$LETable = $objDocument.Tables.Item(1)
$LETableCols = $LETable.Columns.Count
$LETableRows = $LETable.Rows.Count

Write-output "Starting to write... "

$content2 = $LETable.Cell(6,2).Range.Text
$content3 = $LETable.Cell(7,1).Range.Text
$content4 = $LETable.Cell(7,2).Range.Text
#Write-host $content2
$doc2 = $objWord.Documents.Add()
$objWord.Selection.typetext("$content2")
$objWord.Selection.typetext("$content3")
$objWord.Selection.typetext("$content4")
#$objDocument.Close()
#$objWord.Quit()
# Stop Winword Process
#$rc = [System.Runtime.Interopservices.Marshal]::ReleaseComObject($objWord)

bullets - question marks

如何删除那些子弹 - 问号?我只想要纯文本。

2 个答案:

答案 0 :(得分:1)

你需要找到这个字符的unicode表达式。一旦找到,那么使用正则表达式可以帮助用空字符,空格或制表符替换它。 我甚至尝试“直接”复制和粘贴“✀”,它也可以。

删除字符:      $ String-replace'✀'

替换它:

 $String = "Just ✀ and another ✀"
#replace ✀ with cat
 $String -replace '✀','cat'

Ant的结果是:

Just cat and another cat

答案 1 :(得分:0)

您实际需要的是获取文档的纯文本。 查看Open-Xml-PowerTools

由于docx文件是打开的xml格式,您可以利用此工具及其强大的命令。