win32com操作word API精讲 第八集 Range和Selection的区别
本课程《win32com操作word API精讲&项目实战》以视频为主,文字为辅,公众号ID:一灯编程
众所周知,在word编程中Range和Selection都能实现范围的选中,两者大部分都属性和方法都是相同的,但它们有本质的不同。
Selection是单例模式
一个文档中,永远只有一个Selection对象,它等同于鼠标,鼠标选中某段文字,处理完后再选择另外一段文字,之前所选中的范围将会消失。伪代码演示:
from win32com.client import Dispatch
client = Dispatch('word.Application')
client.Visible = 1
doc = client.Documents.Open('demo.doc')
# 先声明某个范围
s = client.Selection
s.Start = 0
s.End = 10
s.Text
>>>我是selection选中的
# 再声明另外一个范围
s1 = client.Selection
s.Start = 11
s.End = 20
s.Text
>>>我是另外一个范围
s1 == s
>>>True
在声明s1后,再获取s.Text时,其属性值会变成s1.Text的属性值了,使用s1 == s比较时,一定会返回True,说明s1和s是通一个对象。
而使用Range选中时,一个文档中可以声明无数个Range对象,可以很方便地操作各种资源。如果使用Selection选中资源,每次都需要声明范围,每次都只能操作一个范围,便利性远不及Range。
Selection适合用于客户端级编程
Selection并不适合用于文档级编程,文档级编程建议使用Range。它适合用于客户端级编程,比如word的插件开发。
ok,今天的内容就先到这,下节课我们接着讲。有问题请留言、私信
win32com操作word API精讲 第八集 Range和Selection的区别的更多相关文章
- win32com操作word API精讲 第六集 Range(四)对齐和缩进
本课程<win32com操作word API精讲&项目实战>同步在B站.今日头条.视频号及本公众号发布.其中本公众号以发布文字教程为主. 今天是大年初二,一灯在此祝愿各位朋友兔年吉 ...
- win32com操作word API精讲 第七集 Range(五)字体格式精讲
本课程<win32com操作word API精讲&项目实战>视频平台以视频为主,本平台以文字为主,公众号ID:一灯编程 本节课主要讲解使用Range操作Font接口中的字体.字号. ...
- win32com操作word API精讲 第十集 Paragraphs & Paragraph接口 (一)
本课程<win32com操作word API精讲&项目实战>以视频为主,文字为辅,公众号ID:一灯编程 在word编程中,Range和Paragraph(s)接口无愧于劳模接口的称 ...
- win32com操作word API精讲&项目实战 预告
对win32com的使用和研究有好一段时间了,想起本人刚开始做word编程项目时的各种痛苦:网上能找到的都是简单的示例,如同hello word一般,嚼之无味又无可奈何.读office的word接口文 ...
- win32com操作word 第三集:Range精讲(一)
本课程<win32com操作word API精讲&项目实战>,本公众号以文字分享为主,B站与视频号则发布视频分享,ID均为:一灯编程 本集开始,将会深入Document接口.打开或 ...
- win32com操作word 第二集:Application&Documents接口
本课程<win32com操作word API精讲&项目实战>以视频为主,文字教程为辅,公众号ID:一灯编程. 先回答一个网友私信问题: win32com和微软的word接口文档有什 ...
- WKWebView API精讲(OC)
WKWebView API精讲(OC) 前言 鉴于LL同志对笔者说:“能不能写个OC版本的WKWebView的使用教程?”,还积极打赏了30RMB,笔者又怎么好意思拒绝呢,于是才有了下文. 所有看到本 ...
- win32com操作word(2):常用用法
一.对象的位置关系: 1.Range属性位于(部分): Selection__Section__Cell__Paragraph__Table__Bookmark__Comment__Row__List ...
- 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 ...
随机推荐
- 【scikit-learn基础】--『预处理』之 正则化
数据的预处理是数据分析,或者机器学习训练前的重要步骤.通过数据预处理,可以 提高数据质量,处理数据的缺失值.异常值和重复值等问题,增加数据的准确性和可靠性 整合不同数据,数据的来源和结构可能多种多样, ...
- 在终端输入EOF
在终端输入EOF 问题 如下是一个计算校验和的程序,其中使用了while循环,需要在标准输入中读取到EOF才能跳出循环. #include <stdio.h> int main(){ in ...
- Zookeeper 的基本使用
维基百科对 Zookeeper 的介绍如下所示: Apache ZooKeeper是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务.同步服务和命名注册 ZooKe ...
- 从VMWare安装到Nginx配置
1.安装VMWare Workstation 16 player,Mac也可使用Parallels Desktop,自己有虚拟主机的跳过: 2.在虚拟机中,安装Centos7操作系统,使用Minima ...
- Golang实现JAVA虚拟机-指令集和解释器
原文链接:https://gaoyubo.cn/blogs/f57f32cf.html 前置 Golang实现JAVA虚拟机-解析class文件 Golang实现JAVA虚拟机-运行时数据区 一.字节 ...
- 一款便捷操作移动端设备的PC工具
说明 该项目基于[Tinyui]框架开发.为电脑端(Windows/MacOS/Linux)操作移动设备提供便捷操作的工具. 项目代码已开源:☞ Github ☜ ☞ Gitee ☜ 功能 运行 由于 ...
- 五菱宝骏车机升级教程【嘟嘟桌面或ES文件管理器】
文章来源:https://www.djww.net/607.html 简介 越来越多的汽车厂商自研车机系统,其实就是在原来安卓的基础上加入自己的元素,然后禁用某些功能从而实现禁止用户安装第三方app. ...
- 8、Flutter Paddiing组件
Padding组件处理容器与子元素之间的间距. class MyApp extends StatelessWidget { const MyApp({super.key}); @override Wi ...
- 第五部分_Shell脚本条件判断语法结构
条件判断语法结构 思考:何为真(true)?何为假(false)? 1. 条件判断语法格式 格式1: test条件表达式 格式2: [ 条件表达式 ] 格式3: [[ 条件表达式 ]] (支持正则~) ...
- 华为云FusionInsight助力宇宙行打造金融数据湖新标杆
摘要:工行采用了华为云FusionInsight MRS大数据存算分离方案,实现了大数据平台与OBS对象存储服务的对接,将原有的HDFS数据无缝迁移到OBS上.在保证性能的前提下,实现了计算与存储独立 ...