我正在编写一个程序,用于在Ms-Word中编写时更改单词列表的格式。
我正在使用Range.Find.Execute查找我想要修改的文本,然后修改范围(例如斜体)
myRange.Find.Execute(FindText:="inicialText", ReplaceWith:="newTextInItalics")
myRange.Italic = 1
一切都很好,除非我改变这个词是最后一个词。然后,样式保留在Ms-Word中。因此,如果您继续键入,插入的新文本将以斜体显示,我不希望如此。
我还尝试折叠范围并删除斜体:
myRange.Collapse(WdCollapseDirection.wdCollapseEnd)
myRange.Italic = 0
但这也不起作用!
我能想到的唯一可能的解决方法是模拟热键切换粗体(Ctrl + B)/斜体(Ctrl + I)/下划线(Ctrl + U),但它有很多不便,例如它取决于语言。用西班牙语Ctrl + N表示粗体等
Pd积。 我正在使用Word 2003和2007进行测试,但我希望尽可能扩展兼容性。
我在VB.NET中编码,但没关系,因为如果你知道在vba中这样做的话,我会调整代码。
答案 0 :(得分:1)
更换文本后,尝试再次选择范围,然后将斜体设置为0