【发布时间】:2016-09-17 01:42:57
【问题描述】:
我正在尝试使用 PowerShell 以编程方式更新 PowerPoint 幻灯片笔记中的笔记。能够做到这一点将节省大量时间。下面的代码允许我使用 PowerShell 编辑注释字段,但每次都会弄乱格式。
$PowerpointFile = "C:\Users\username\Documents\test.pptx"
$Powerpoint = New-Object -ComObject powerpoint.application
$ppt = $Powerpoint.presentations.open($PowerpointFile, 2, $True, $False)
foreach($slide in $ppt.slides){
if($slide.NotesPage.Shapes[2].TextFrame.TextRange.Text -match "string"){
$slide.NotesPage.Shapes[2].TextFrame.TextRange.Text = $slide.NotesPage.Shapes[2].TextFrame.TextRange.Text -replace "string","stringreplaced"
}
}
Sleep -Seconds 3
$ppt.Save()
$Powerpoint.Quit()
例如,现在它将遍历每张幻灯片的注释并将单词字符串更新为 stringreplaced,但随后整个注释文本变为粗体。在我的笔记中,我在笔记的顶部有一个单词是粗体的,然后是下面的文字。例如,幻灯片上的注释我看起来像这样:
笔记标题
帮我处理这个字符串。
PowerShell 更新 notes 字段后,会将其保存到新的 .pptx 文件中,但 note 现在看起来像这样:
笔记标题
帮我更换这个字符串。
关于如何在不弄乱笔记中的任何格式的情况下更新幻灯片笔记的任何想法?它只会弄乱脚本更新幻灯片的格式。
【问题讨论】:
标签: powershell powerpoint