我的搜索仅在VBA中产生类似的东西,但我有一个不同的方法,并在Power
Shell中解决这个问题.
我是PowerShell的新手,我想阅读Excel文件中的所有注释并将其保存为CSV文件.一切都有效,除了阅读评论.注释是一个com对象.如何从com对象获取实际注释?这是相关代码的片段.我无法用invokemember做到这一点,但也许我做错了.提前致谢.
ForEach ($File in (Get-ChildItem $folder -Include *.xls, *.xlsx, *.xlsm -Recurse))
{
$sh=$document.Sheets.Item($i)
$comments = $sh.comments
foreach ($comment in $comments)
{
#[System.__ComObject] <--- Must get this value | Add-Content -file.csv
}
}
我也愿意接受其他方法来实现这一目标.
最佳答案 每个
Comment Object都有一个
Text method,它返回或更新信息.
我更进了一步并拆分了换行符,以便您可以将作者的评论分开:
foreach ($comment in $comments) {
$CommentText = $comment.text().split([environment]::newline)
[pscustomobject]@{
'Author' = $CommentText[0]
'Text' = $CommentText[1]
}
}