使用PowerShell从Excel文件中读取注释

我的搜索仅在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]
    }
}
点赞