Word如何在与文本相同的行中添加符号? (VB.NET - WORD)

时间:2018-02-28 12:42:10

标签: vb.net text ms-word symbols

我需要一个符号,然后是由vb.net在word中创建的文本。 喜欢:     [符号]是的,我接受!

注意:⬜是的我接受(不是我假装的)       [crosbox]是的我接受(是我想做的)

事先提前

这是我的代码

oPara(10) = oDoc.Content.Paragraphs.Add
        oPara(10).Range.Font.Color = RGB(0, 0, 0)
        oPara(10).Range.InsertSymbol(CharacterNumber:=53, Font:="Wingdings 2", Unicode:=True)
        oPara(10).Range.Text = "S"
        oPara(10).Range.Font.Size = 7
        oPara(10).Range.Font.Bold = True
        oPara(10).Format.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceSingle

        oPara(10).Range.Font.Color = RGB(0, 0, 0)
        oPara(10).Range.Font.Name = "Calibri"
        oPara(10).Range.Text = "Bla bla."
        oPara(10).Range.Font.Size = 7
        oPara(10).Range.Font.Bold = True
        oPara(10).Format.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceSingle
        oPara(10).Range.InsertParagraphAfter()

1 个答案:

答案 0 :(得分:0)

如果您不希望样式更改影响段落的其余部分,则无法使用Paragraph.Range设置样式。您必须通过明确保留范围引用并在段落中移动它来更多地控制范围引用的位置。这样,样式指令仅适用于范围,而不适用于整个段落。在您当前的示例中,您似乎通过将范围文本设置为“S”来覆盖您的符号,这就是InsertSymbol似乎没有做任何事情的原因。这是一个可以让你前进的片段:

Dim oWord As New Word.Application
oWord.Visible = True
Dim oDoc As Word.Document = oWord.Documents.Add
Dim oPara As Word.Paragraph = oDoc.Content.Paragraphs.Add
Dim oRng As Word.Range = oPara.Range
oRng.InsertSymbol(CharacterNumber:=53, Font:="Wingdings 2", Unicode:=True)
oRng.Start = oRng.End + 1
oRng.Text &= " Yes I Accept"
oRng.Font.Name = "Calibri"

将以下内容插入新的word文档:

enter image description here

所以现在你已经看到了范围可以控制得多一些,现在你必须考虑你是否真的需要这样做...因为你可以通过简单地使用以下方式来节省你自己的头痛:

oPara.Range.Text = "⬜ Yes I Accept"