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   # 显示文档中所有样式名


posted @ 2013-01-02 19:06  完美视界  阅读(5606)  评论(0编辑  收藏  举报