我有一堆现有的RTF表,并希望将它们添加到.docx文件时,使用R包“ReporteRs”.但它不支持外部RTF表尚未.所以我试图插入文件路径到.docx文件并切换链接以获取表.要做到这一点,我需要在文件路径周围添加一对大括号“{}”。但只需添加符号“{}”在文件路径周围,将不会完成工作,因为大括号将被翻译成word中的一些RTF代码,而“{}”的后台RTF代码实际上是相当复杂的。我的问题是:
(1)如何在rtf文件路径周围添加可解析的大括号“{}”,以便我可以切换链接。我试图使用我找到的rtf代码来替换大括号,但无法通过Microsoft WORD编译为大括号。我找到的rtf代码是这样的:
{\field{*\fldinst {\rtlch\fcs1 \af31503 \ltrch\fcs0 \insrsid8593807 \hich\af31502\dbch\af31501\loch\f31502 \hich\af31502\dbch\af31501\loch\f31502 INCLUDETEXT“\\\ my file pth\d0blchar.rtf”\c MSRTF\hich\af31502\dbch\af31501\loch\f31502 }}
我希望这个问题可以通过WORD来解决,比如:{INCLUDETEXT“\ my file pth\d0blchar.rtf”\c MSRTF }
但在我看来,WORD不能做编译。
(2)如果(1)不可行,是否有其他R软件包,可以包括RTF表到一个WORD文件时,创建一个WORD文件的R?
附上我的示例代码:
library(ReporteRs)
path<-'\\\\\\\\mypath\\data\\table1.rtf' #path for the related TLFS
report<-docx() #initialize the docx object
text1<-"{\\field{\\*\\fldinst {\\rtlch\\fcs1 \\af31503 \\ltrch\\fcs0 \\insrsid8593807 \\hich\\af31502\\dbch\\af31501\\loch\\f31502 \\hich\\af31502\\dbch\\af31501\\loch\\f31502 "
text2<-"\\hich\\af31502\\dbch\\af31501\\loch\\f31502 }}"
fileAdd<-paste0(text1,"INCLUDETEXT \"", path, "\" \\c MSRTF", text2)
report<-addParagraph(report,fileAdd) #add rtf tables
writeDoc(report, file="Report.docx") #output the docx file
============================================
多谢了!
1条答案
按热度按时间falq053o1#
我已经能够用下面的代码将一个表从RTF文档复制到Word文档: