如何用R自动生成word文件

Python021

如何用R自动生成word文件,第1张

office 2007中不能直接打开VB编辑器,请按Alt + F11打开。

import win32com.client # 导入脚本模块 WordApp = win32com.client.Dispatch("Word.Application") # 载入WORD模块

WordApp.Visible = True

# 显示Word应用程序

1、 新建Word文档

doc = WordApp.Documents.Add()

# 新建空文件

doc = WordApp.Documents.Open(r"d:\2011专业考试计划.doc") # 打开指定文档

doc.SaveAs(r"d:\2011专业考试计划.doc")

# 文档保存

doc.Close(-1)

# 保存后关闭,doc.Close()或doc.Close(0)直接关闭不保存

2、 页面设置

doc.PageSetup.PaperSize = 7

# 纸张大小, A3=6, A4=7

doc.PageSetup.PageWidth = 21*28.35 # 直接设置纸张大小, 使用该设置后PaperSize设置取消

doc.PageSetup.PageHeight = 29.7*28.35 # 直接设置纸张大小

doc.PageSetup.Orientation = 1 # 页面方向, 竖直=0, 水平=1 doc.PageSetup.TopMargin = 3*28.35

# 页边距上=3cm,1cm=28.35pt

doc.PageSetup.BottomMargin = 3*28.35 # 页边距下=3cm doc.PageSetup.LeftMargin = 2.5*28.35 # 页边距左=2.5cm doc.PageSetup.RightMargin = 2.5*28.35 # 页边距右=2.5cm

doc.PageSetup.TextColumns.SetCount(2) # 设置页面分栏=2

3、 格式设置

sel = WordApp.Selection

# 获取Selection对象 sel.InsertBreak(8)

# 插入分栏符=8, 分页符=7

sel.Font.Name = "黑体" # 字体 sel.Font.Size = 24 # 字大 sel.Font.Bold = True # 粗体 sel.Font.Italic = True # 斜体 sel.Font.Underline = True

# 下划线

sel.ParagraphFormat.LineSpacing = 2*12 # 设置行距,1行=12磅

sel.ParagraphFormat.Alignment = 1 # 段落对齐,0=左对齐,1=居中,2=右对齐 sel.TypeText("XXXX") # 插入文字 sel.TypeParagraph()

# 插入空行

注:ParagraphFormat属性必须使用TypeParagraph()之后才能二次生效

在之前学习的时候,老师有推荐"export"这个神器可以将图片直接导出至ppt,但是发现3.6及4.0版本的R语言仍然无法使用export。

因此,切换至另外一个叫"eoffice"的package。

安装eoffice

报错

查看错误内容是因为没有安装Magick++

按照提示安装libmagick++-dev

再次安装effice

注:最近发现新版本的devEMF不兼容,如果发现缺少devEMF,并报错:Makeconf:176: recipe for target 'devEMF.o' failed make: *** [devEMF.o] Error 1,需要参见 https://www.jianshu.com/p/fd5857f5a06f 手动安装devEMF旧版本

之后就可以加载

保存至ppt可使用topptx

保存至doxc可使用todocx

支持多处方式输出图片

也支持表格从ppt或者word的输出和读取

以及输出多种图片格式