我想去掉最后一个字的粗体/斜体/下划线格式继续写正常
I want to remove the bold / italic / underline format in the last word to continue writting normal
我正在编写一个程序,当您在 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 表示粗体等
P.D。
我正在使用 Word 2003 和 2007 对其进行测试,但我希望尽可能广泛地兼容。
我在 VB.NET 中编码,但这并不重要,因为如果您知道在 vba 中进行编码的方法,我会调整代码。
替换文本后,再次尝试 select 范围,然后将斜体设置为 0
我正在编写一个程序,当您在 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 表示粗体等
P.D。 我正在使用 Word 2003 和 2007 对其进行测试,但我希望尽可能广泛地兼容。
我在 VB.NET 中编码,但这并不重要,因为如果您知道在 vba 中进行编码的方法,我会调整代码。
替换文本后,再次尝试 select 范围,然后将斜体设置为 0