我需要以编程方式创建一个文本(2 行,多种字体),然后将其放置在文档的多个表格(<100)中。
我发现解决这个问题的唯一方法是创建一个Word.Paragraph
并将其范围复制到单元格中。这种方法的问题是:在创建段落时,它被添加到文档中。
我想创建一个格式化的文本,就像创建一个字符串一样,全部在代码中而不修改文档。
我使用的一种方法是使用 HTML 或富文本,它本质上是一个字符串。我相当确定 Word 可以使用正确的 com 对象设置来解释其中任何一个。
我尝试过的另一种方法是使用剪贴板而不是单词对象。你可以这样做:
(进口system.windows.forms
)
Clipboard.SetText(Me.RichTextBox1.Rtf, TextDataFormat.Rtf)
ApplicationName.Selection.Paste()
像这样的东西:
Sub CreateNewWordDoc()
Dim para As Word.Paragraph
Set para = ActiveDocument.Paragraphs.Add
para.Range.Font.Hidden = True
' Do your manipulation
para.Range.Text = "Hello world"
para.Range.Font.Name = "Tahoma"
para.Range.Font.ColorIndex = wdBlue
' Now remove the paragraph as if it never existed!
para.Range.Delete
End Sub