Python 设置word属性的函数
office 2007中不能直接打开VB编辑器,请按Alt + F11Alt + F11Alt + F11Alt + 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) # 设置页面
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()之后才能二次生效!
4、 插入图片
pic = sel.InlineShapes.AddPicture(jpgPathName) # 插入图片,缺省嵌入型 pic.WrapFormat.Type = 0 # 修改文字环绕方式:0=四周型,1=紧密型,3=文字上方,5=文字下方 pic.Borders.OutsideLineStyle = 1 # 设置图片4边线,1=实线 pic.Borders.OutsideLineWidth = 8 # 设置边线宽度,对应对话框中数值依次2,4,6,8,12,18,24,36,48 pic.Borders(-1).LineStyle = 1 # -1=上边线,-2=左边线,-3下边线,-4=右边线 pic.Borders(-1).LineWidth = 8 # 依次2,4,6,8,12,18,24,36,48 注注注注::::InlineShapes方式插入图片类似于插入字符(嵌入式),Shapes插入图片缺省是浮动的。
5、 插入表格
tab=doc.Tables.Add(sel.Range, 16, 2) # 增加一个16行2列的表格 tab.Style = "网格型" # 显示表格边框 tab.Columns(1).SetWidth(5*28.35, 0) # 调整第1列宽度,1cm=28.35pt tab.Columns(2).SetWidth(9*28.35, 0) # 调整第2列宽度 tab.Rows.Alignment = 1 # 表格对齐,0=左对齐,1=居中,2=右对齐 tab.CellCellCellCell(1,1).Range.Text = "xxx" # 填充内容,注意Excel中使用wSheet.Cells(i,j) sel.MoveDown(5, 16) # 向下移动2行,5=以行为单位 注注注注::::插入n行表格之后必须使用MoveDown(5,n)移动到表格之后才能进行其它操作,否则报错!
6、 使用样式
for stl in doc.Styles: print stl.NameLocal # 显示文档中所有样式名