如何通过宏将Word表格带格式文本导入Publisher的TextFrame?
解决Publisher文本框无法接收带格式文本的问题
直接给TextFrame.TextRange赋值FormattedText确实无法保留格式,这是Publisher对象模型的限制。可以通过剪贴板复制粘贴的方式实现带格式内容的转移,具体代码如下:
' 关闭屏幕更新,提升执行效率 Application.ScreenUpdating = False ' 复制Word表格单元格的带格式内容到剪贴板 table.Cell(2, 3).Range.Copy With doc.Pages(1).Shapes(1).GroupItems.Item(8).TextFrame ' 清空文本框原有内容(若需追加则删除此行) .TextRange.Text = "" ' 粘贴带格式内容 .TextRange.Paste End With ' 恢复屏幕更新 Application.ScreenUpdating = True
补充说明
- 若要追加内容而非覆盖,删除
.TextRange.Text = "",改为定位到文本末尾:.TextRange.Start = .TextRange.End后再执行Paste - 执行过程中避免手动操作剪贴板,防止复制内容被替换
内容的提问来源于stack exchange,提问作者TimO
相关产品推荐
相关产品推荐

