Jacklovely

导航

 
#下面是必备的
#注意!所有方法后面都要加括号()!!! import win32com from win32com.client import Dispatch,constants w = win32com.client.Dispatch('Word.Application') w.Visible = 0 w.DisplayAlerts = 0 doc = w.Documents.Open(FileName = r'C:\Users\jack\Desktop\test\课文.rtf') #这里写操作word的代码 par = doc.Range(doc.Content.Start,doc.Content.End) #选取全文
doc.Paragraphs(1).Range.Delete() #删除一段
w.ActiveDocument.Select() #活动文档全选!select加括号!
w.Selection.ClearFormatting() #清除所有格式,包括文字和段落,如字体、首行缩进等
par.ParagraphFormat.Reset() #只取消段落格式,如首行缩进

par.Font.Name = "微软雅黑"                                      #设置字体
par.Font.Size = "14"                                           #设置字号,12是小四,14是四号,15小三,16三号,18小二,21二号,24小一,28一号,36小初号,42初号
par1 = doc.Paragraphs(1).Range                                 #选取第一段
par2 = doc.Paragraphs(2).Range                                 #选取第二段
par1.Font.Size = "36"                                          #设置字体为小初号
par2.Font.Size = "24"                                          #设置字体为小一
par1.ParagraphFormat.Alignment = 1                             #居中对齐
par2.ParagraphFormat.Alignment = 1                             #居中对齐

#下面是结束了 
doc.Close()
w.Quit

利用Python操作Word文档


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()之后才能二次生效!  
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.Cell(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 on 2016-08-06 22:55  Jacklovely  阅读(2372)  评论(0编辑  收藏  举报