如何用python或者R批量生成固定格式的word文档
我有一个word模板,里面有图片,以及对应的编号,一个表格。现在要生成300多个word,每个word里的图片和图片编号不一样(从文件夹读取)。请问这个用一段什么程序实现...
我有一个word模板,里面有图片,以及对应的编号,一个表格。现在要生成300多个word,每个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()之后才能二次生效
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()之后才能二次生效
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询