我正在将一系列3500个html文档转换为文档存储库的Word。我们遇到了一些问题,在转换的后端发现一些超链接,原因不明。我想生成一个文件名列表以及每个文件中包含的链接,以查看是否可以找到任何模式并相应地调整我的转换程序。不幸的是,包含PowerShell和超链接的搜索导致了很多关于如何使用Powershell添加超链接的项目,并且没有任何情况适用于我的需求。如何使用PowerShell编辑Word文档中的超链接?
使用this link和this link与此代码我的出发点....
$word = New-Object -ComObject Word.Application
$document = $word.documents.open("C:\users\administrator\desktop\TEST.docx")
$document.Hyperlinks
([uri]"http://domain.com/This is a bad link").AbsoluteUri
$hyperlinks = @($document.Hyperlinks)
$hyperlinks | ForEach {
If ($_.Address -match "\s") {
$newURI = ([uri]$_.address).AbsoluteUri
Write-Verbose ("Updating {0} to {1}" -f $_.Address,$newURI) -Verbose
$_.address = $newURI
}
}
$document.save()
$word.quit()
我一直在试图手艺的东西,将满足我的需求。我可以复制上述脚本的结果,但无法通过ForEach
命令成功运行遍历目录中的所有文档。我试图改变所有链接从HTML到DOC,但第二我插入此代码:
If ($.Address. -match ".\.doc") {
$newExt = ".doc" ;
$newURI = ([uri]$$_.address).BaseName.$newExt.
我在运行时出界限和命令失败错误。 This Link帮助,和this link回答我的问题为VBA/VBScript ...但不是PowerShell。有没有人有这个Powershell解决方案?