使用Word表格到Publisher的格式化文本



我正在尝试(但失败了(使用Word表中内容中的宏在Publisher中填写文本框(TextFrame(。我正试图做一些类似的事情

With doc.Pages(1).shapes(1)
.GroupItems.Item(8).TextFrame.TextRange = table.Cell(2, 3).Range.FormattedText
End With

table的源文本在文本框中有一堆我需要的字体格式,但它似乎无法复制格式,我只能得到纯文本。关于如何使其正常工作,有什么想法吗?

编辑:似乎TextFrame根本无法接受格式化的文本。有办法解决这个问题吗?

在Word中,TextFrame.TextRange返回一个具有FormattedText属性的范围。其用法为:

.GroupItems.Item(8).TextFrame.TextRange.FormattedText = table.Cell(2, 3).Range.FormattedText

在代码中,您没有指定要将格式化文本分配给TextRange的哪个属性。这意味着它将被分配给默认属性Text,它只是一个字符串,不能包含任何格式。

黄金法则:从不依赖默认属性,始终指定属性。

如果您似乎正在将Word中的值带入Publisher,您应该查看Publisher中VBA的文档,该文档显示Publisher中的TextRange对象没有FormattedText属性,因此无法使用此方法进行格式转换。

最新更新