微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Word文档中以编程方式定义范围-Powershell

如何解决在Word文档中以编程方式定义范围-Powershell

我有一个PoSh应用程序,该应用程序基于存储在数据库中的段落集合来生成word文档。不幸的是,数据库无法存储格式化的文本。但是,最终产品中的某些文本需要格式化。因此,我需要编写一个函数搜索字符串,并对它在文档中找到的文本应用某种格式。

根据this page,成功的Find.Execute“还重新定义了Range对象以在找到文本时匹配搜索条件。”我读这句话的意思是我可以根据我的字符串参数执行“查找”,然后将格式应用于产生的新$ range。

但是我被困住了,因为这段代码会导致整个word文档都被选中并斜体显示

function ConvertTo-ItalicText ($doc,[string]$targetString){
$range = $doc.Content()

$range.Find.Execute($targetString)

$range.Select()

$range.Font.Italic = $True}

我唯一能想到的就是也许我必须实际更新$ range var,而不是仅仅执行find对象。但是我不确定该怎么做,在文档中还不清楚。

感谢您的帮助!我已经在StackOverflow和其他资源中进行了很多搜索-我可以找到的所有内容(对于PoSh用例来说都是典型的)与根据Find.Execute方法是否定位文本返回true或false有关;这不是这里的问题。在这里,我知道文本在那里,因为我是自己生成文档的。我只需要将光标光标移到它上面,或者更好地定义一个包含我需要重新格式化的文本的范围即可。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。