win32com操作word(2):常用用法
一、对象的位置关系:
1.Range属性位于(部分):
Selection__Section__Cell__Paragraph__Table__Bookmark__Comment__Row__List
Range方法位于:
Document.Range(start,end) :返回指定区间(start,end)的Range对象
CanvasShapes(Shapes/GroupShapes/).Range(index):返回一个指定index的ShapeRange对象
2.Selection属性位于(全部):
Application__Global__Pane__Window
3.Paragraphs属性位于(全部):
Document__Range__Selection
4.Tables属性位于(全部):
Cell__Table__Range__Selection__Document
5.Text属性位于(全部):
Range__Selection__Find__Replacement__TextEffectFormat
总结:
1.Range.InsertBefore(After)后,Range的范围会扩展自动至插入的字符前或后;
2.Range.Text='xx'会导致Range范围内的内容被替换成‘xx';
3.Range与Selection之间相互转化:
Range=Selection.Words[Characters](n)
Selection=Range.Select()
4.字体的改变:
Font属性是Selection,Range,Find,Replacement,Style,ConditionalStyle对象的属性,主要改变字体的大小(Size),颜色(Color),字体类型(Name),粗体(Bold),斜体(Italic)等
5.段落格式改变:
ParagraphFormat属性也是Selection,Range,Find,Replacement,Style,ConditionalStyle对象的属性,改变段落格式
二、Range与Selection区域选择相关操作
几个重要的区域选择函数:
MoveEnd(wdUnits,n):移动结尾光标位置,从而增加或减小选择区域。n为正表示向后移动,n为负表示向前移动。
MoveStart(wdUnits,n):移动起始光标位置,从而增加或减小选择区域。n为正表示向后移动,n为负表示向前移动。
EndOf(wdUnits,wdExtend[wdMove]):将光标扩展(或移动)到按wdUnits设定的末尾位置。如果是wdMove,就是移动,此时没有选择区域;如果是wdExtend,就是扩大选择区域。
EndKey(wdUnits,wdExtend[wdMove]):与EndOf()功能相同
StartOf(wdUnits,wdExtend[wdMove]):原理同上,只是光标移动到起始位置。
HomeKey(wdUnits,wdExtend[wdMove]):功能与StartOf()相同
Extend(character):打开扩展模式,扩展至指定的字符character处(包括character字符)
Expand(wdUnits):按wdUnits方式扩展选定的区域。
Collapse(wdCollapseStart[wdCollapseEnd]):将选定区域释放,同时光标移至原选定区域的起始位置或结束位置。
注意:如果用 wdCollapseEnd 折叠一个代表完整段落的区域,则该区域将定位于段落结束标记之后(即下段开头)。但是,在该区域折叠后,可以用 MoveEnd 方法将区域回移一个字符
三、书签相关操作:
标签的主要目的是用来在文档中定位,在有文字很多的文档中快速找到所需文档位置十分有效。
1.获取书签集合:
Document[Selection/Range].Bookmarks
2.添加书签:
Bookmarks.Add('name',Range):注意书签名仅能为一个单词,否则命名错误
3.判断书签name是否存在,若存在则选中:
if Bookmarks.Exists('name')==True:
Bookmarks.Item('name').Select()
4.替换标签name内的内容:
Bookmarks.Item('name').Range.Text='new content'
四、图片插入:
word中图片对象是通过Shape对象来管理的,该对象可以操作图片,设置图片的长宽、位置、格式等属性的设置。
而图片的插入可以通过InlineShapes.AddPicture('xx.jpg')或Shapes.AddPicture('xx.jpg')方法插入。二者都返回Shape对象,可以调用该对象的方法操作图片。
通过InlineShapes添加的图片相当于字符插入,而通过Shapes插入的图片可以随意移动,浮动在文字上方,二者可以通过ConvertToInlineShape和ConvertToShape相互转化。
五、查找与替换:
查找与替换是通过Find对象和Replacement对象实现的。Find属性位于Range和Selection对象,Replacement属性位于Find对象。
Find对象的属性主要要来设置查找对象,Execute()函数用来执行查找任务。
Execute(FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, Replace, MatchKashida, MatchDiacritics, MatchAlefHamza, MatchControl)
FindText :指定需搜索的文本。可用空字符串 ("") 搜索格式,也可通过指定相应的字符代码搜索特殊字符。例如,“^p”对应段落标记,“^t”对应制表符。
MatchCase:区分大小写
MatchWholeWord:全字匹配
MatchWildcards:使用通配符。
MatchSoundsLike:同音匹配
MatchAllWordForms:查找操作定位于要查找的文字的所有形式(例如,查找“sit”的同时,还查找“sitting”和“sat
Forward:向下(向文档尾部)搜索。
Wrap:如果搜索从不是文档的起始位置开始,并已搜索到文档的末尾(如 Forward 设置为 False,则相反),用本参数控制接下来的操作。当存在选定内容或区域,而又没有在该选定内容或区域中找到搜索文字时,也可用本参数控制接下来的操作。可取下列 WdFindWrap 常量之一。
WdFindWrap 可以是下列 WdFindWrap 常量之一: |
wdFindAsk 搜索完选定内容或者区域后,Microsoft Word 会显示一条消息,询问是否搜索文档的其他部分。 |
wdFindContinue 到达搜索区域的开始或者结尾时,继续执行查找操作。 |
wdFindStop 到达搜索区域的开始或者结尾时,停止执行查找操作。 |
Format:查找操作定位于格式或带格式的文本,而不是查找文本。
ReplaceWith Variant 类型,可选。替换文字。若要删除由 Find 参数指定的文字,可使用空字符串 ("")。与 Find 参数相似,本参数也可以指定特殊的字符和高级搜索条件。若要将图形对象或者其他非文本项指定为替换内容,可将这些项置于“剪贴板”上,然后将 ReplaceWith 指定为“^c”。
Replace :指定执行替换的个数:一个、全部或者不替换。可取下列 WdReplace 常量之一。
WdReplace 可以是下列 WdReplace 常量之一: |
wdReplaceAll |
wdReplaceNone |
wdReplaceOne |
win32com操作word(2):常用用法的更多相关文章
- Python操作Word:常用对象介绍
前面已经介绍过了试用win32com类库来进行Word开发,系列文章<Python操作Word>是继承了前面的文章,所以,你应该先查看前面的文章,其实只有两篇,文章地址列在最下面的参考资料 ...
- win32com操作word(1):几个重要的对象(28.35)
Pywin32模块为python封装了操作windows底层API函数的功能.而win32com是Pywin32下面的一个模块,专门负责操作com组件. 由于office工具(Word.Excel等) ...
- win32com操作word(3):导入VBA常量
导入VBA常量方法:http://blog.sina.com.cn/s/blog_a73687bc0101k8x8.html 我们之前说过,win32com组件为python提供处理COM组件(.dl ...
- python操作word(改课文格式)【最终版】
python操作word的一些方法,前面写了一些感悟,有点跑题,改了下题目,方便能搜索到.心急的可以直接拉到最后看代码,我都加了比较详细的注释. 从8.3号早上9点,到8.8号下午5点半下班,终于把这 ...
- Java文件操作系列[3]——使用jacob操作word文档
Java对word文档的操作需要通过第三方组件实现,例如jacob.iText.POI和java2word等.jacob组件的功能最强大,可以操作word,Excel等格式的文件.该组件调用的的是操作 ...
- python操作word入门
1.安装pywin32 http://sourceforge.net/projects/pywin32 在files里去找适合你的python版本.截止此文,最新版本是pywin32-219快捷路径: ...
- C#中操作Word(1)—— word对象模型介绍
一.开发环境布置 C#中添加对Word的支持,只需添加对Microsoft.Office.Interop.Word的命名空间,如下图所示,右键点击“引用”,在弹出的“添加引用”对话框中选中COM标签页 ...
- centos的vi常用用法
centos的vi常用用法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的 ...
- [转]ssh常用用法小结
ssh常用用法小结 1.连接到远程主机: 命令格式 : ssh name@remoteserver 或者 ssh remoteserver -l name 说明:以上两种方式都可以远程登录到远程主机, ...
随机推荐
- JQuery的一些思想,自己的一些见解!!!!
自己总结了一下JQuery底层的一些思想,纯属于个人见解.. 为了方便描述,现在客户假如给了我们一个需求: 页面上有两个按钮,一张图片,当我点击hidden按钮时隐藏图片,当我点击show按钮时显示图 ...
- django数据库同步时报错“Table 'XXX' already exists”
转自:http://blog.csdn.net/huanhuanq1209/article/details/77884014 执行manage.py makemigrations 未提示错误信息, 但 ...
- redis写磁盘报错Cannot allocate memory
查看 Redis 日志发现系统在频繁报错: [1821] 10 Nov 09:59:04.086 # Can't save in background: fork: Cannot allocate m ...
- 深入Asyncio(一)入门介绍
介绍 Asyncio试图解决什么问题? 对于IO负载,有且仅有两个理由使用基于asyncio的并发而不是基于多线程的并发: 1. Asyncio为抢占式多任务(线程)提供了一个更安全的替代方案,避免了 ...
- 【caffe】Caffe的Python接口-官方教程-01-learning-Lenet-详细说明(含代码)
01-learning-Lenet, 主要讲的是 如何用python写一个Lenet,以及用来对手写体数据进行分类(Mnist).从此教程可以知道如何用python写prototxt,知道如何单步训练 ...
- ASP.NET动态网站制作(5)-- 标签语义化及知识补充
前言:这节课主要是讲标签语义化及一些知识点的补充 内容:参考老师的博文:http://www.cnblogs.com/ruanmou/p/4821894.html
- Unity3D自定义编辑器简单实例
MenuItem:在标题栏自定义菜单.需要在Editor文件夹内创建脚本,无需挂载.但是注意其下的函数必须为静态函数. using UnityEngine; using UnityEditor; pu ...
- Linq的优缺点
优点: 1.Linq提供了不同数据源的抽象层,所以可以使用相同的语法访问不同的数据源(只要该数据源有提供程序即可) 2.Linq为底层的数据存储提供了一个强类型化的界面,可以把底层的数据作为对象来访问 ...
- CentOS、乌班图设置固定静态IP
CentOS.乌班图设置固定静态IP 一.centOS 1.编辑 ifcfg-eth0 文件 # vim /etc/sysconfig/network-scripts/ifcfg-eth0 2,在文件 ...
- OSGI简介(转)
原文地址 目前,业内关于OSGI技术的学习资源或者技术文档还是很少的.我在某宝网搜索了一下“OSGI”的书籍,结果倒是有,但是种类少的可怜,而且几乎没有人购买.因为工作的原因我需要学习OSGI,所以我 ...