#下面是必备的
#注意!所有方法后面都要加括号()!!!
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 # 显示文档中所有样式名称 (未完待续……)

【pywin32总结】的更多相关文章

  1. pywin32 创建一个窗口

    import win32con,win32gui class MyWindow(): def __init__(self): #注册一个窗口类 wc = win32gui.WNDCLASS() wc. ...

  2. 在注册表中无Python3.5安装路径的情况下安装pywin32-

    当安装pywin32出现Python Version 3.5 required which was not found in the registry的时候表面注册表中没有Python3.5的安装路径 ...

  3. windows 上执行python pywin32.exe

    大家熟知的python脚本可以在linux系统上直接运行,因为linux上会安装python编译器 然而windows不会安装,如果想要别人直接运行你发布的python脚本,一种方法是在他的windo ...

  4. python和pywin32实现窗口查找、遍历和点击

    Pywin32是一个Python库,为python提供访问Windows API的扩展,提供了齐全的windows常量.接口.线程以及COM机制等等. 1.通过类名和标题查找窗口句柄,并获得窗口位置和 ...

  5. Python笔记:使用pywin32处理excel文件

    因为前端同事须要批量的对excel文件做特殊处理,删除指定行,故写了此脚本.同一时候配合config.ini方便不熟悉py的同事使用 #!/usr/bin/env python #-*- coding ...

  6. pywin32 安装错误 ImportError: DLL load failed: 不是有效的 Win32 应用程序

    pywin32 安装错误 ImportError: DLL load failed:  不是有效的 Win32 应用程序. 发现是因为没有制定Pywin32的dll所致,我们在用Pywin32开发时, ...

  7. python安装win32api pywin32 后出现 ImportError: DLL load failed

    ImportError: DLL load failed: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\x ...

  8. 安装python的pywin32安装不了,提示找不到py3.6-32

    安装python的pywin32安装不了,提示找不到py3.6-32 首先我自己的py3.6是64位版本的,这是pywin32模块的下载地址 里面有各种版本的,首先我先下了64位的3.6版本的,结果提 ...

  9. pywin32模块安装

    安装流程: 1.查看python版本和位数: 2.下载对应的的pywin32,下载目录任意 https://sourceforge.net/projects/pywin32/files%2Fpywin ...

  10. windos64位下python3.6安装pywin32的问题

    ~~~~今天终于算是正式接触scrapy了,测试的时候发现少装了一个pywin32的模块,然后安装了好久,中间碰到好多坑,最后总算是装好了. 首先我自己的py3.6是64位版本的,这是pywin32模 ...

随机推荐

  1. 【SSH三大框架】Hibernate基础第十一篇:对继承映射的操作

    在java中.类之间能够有继承关系.可是在数据库中是没有继承关系的.只是Hibernate是为了把面向对象的关系反映到数据库中.Hibernate为我们提供了3种方案: 第一.一个继承体系放在一张表中 ...

  2. Cocos2d-X中的动作特效

    Cocos2d-X中提供了很丰富的动作特效 比如:网格动画 扭曲特效 3D瓷砖波动特效 程序代码: #include "ActionEffect.h" #include " ...

  3. 多个Mapper和Reducer的Job

    多个Mapper和Reducer的Job @(Hadoop) 对于复杂的mr任务来说,只有一个map和reduce往往是不能够满足任务需求的,有可能是需要n个map之后进行reduce,reduce之 ...

  4. vb.net中将DataGridView与数据源绑定

    在< .net中将DataGridView内的数据导出为Excel表格>中说了如何导出数据到Excel,今天这篇文章将讲述如何绑定数据源,在控件中显示我们需要的信息. 在敲机房收费系统的时 ...

  5. <The Art of Readable Code> 笔记二 (上)

    第2章  封装信息到名字 (Packing information into names) 2.1  use specific words GetPage() 不如 FetchPage() 和 Dow ...

  6. Python网络爬虫 - 一个简单的爬虫例子

    下面我们创建一个真正的爬虫例子 爬取我的博客园个人主页首页的推荐文章列表和地址 scrape_home_articles.py from urllib.request import urlopen f ...

  7. Quartz.NET——作业调度组件

    之前有个旧同事说他在项目中碰到某些功能需要使用到作业调度,于是找到了这个组件,据说相当好用,叫我有时间的话去了解一下.哈,于是小了解了一下,基本的使用算是明白了,深层次的东西就不了解了,本文简单记录一 ...

  8. itext测试地址

    http://demo.itextsupport.com/xmlworker/?snippetChooser=headers

  9. uva10401Injured Queen Problem(递推)

    题目:uva10401Injured Queen Problem(递推) 题目大意:依然是在棋盘上放皇后的问题,这些皇后是受伤的皇后,攻击范围缩小了.攻击范围在图中用阴影表示(题目).然后给出棋盘的现 ...

  10. vue 1.x 总结

    1.Vuejs组件 vuejs构建组件使用 Vue.component('componentName',{ /*component*/ }): 这里注意一点,组件要先注册再使用,也就是说: Vue.c ...