本课程《win32com操作word API精讲&项目实战》以视频为主,文字为辅,公众号ID:一灯编程

众所周知,在word编程中RangeSelection都能实现范围的选中,两者大部分都属性和方法都是相同的,但它们有本质的不同。

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,说明s1s是通一个对象。

而使用Range选中时,一个文档中可以声明无数个Range对象,可以很方便地操作各种资源。如果使用Selection选中资源,每次都需要声明范围,每次都只能操作一个范围,便利性远不及Range

Selection适合用于客户端级编程

Selection并不适合用于文档级编程,文档级编程建议使用Range。它适合用于客户端级编程,比如word的插件开发。

ok,今天的内容就先到这,下节课我们接着讲。有问题请留言、私信

win32com操作word API精讲 第八集 Range和Selection的区别的更多相关文章

  1. win32com操作word API精讲 第六集 Range(四)对齐和缩进

    本课程<win32com操作word API精讲&项目实战>同步在B站.今日头条.视频号及本公众号发布.其中本公众号以发布文字教程为主. 今天是大年初二,一灯在此祝愿各位朋友兔年吉 ...

  2. win32com操作word API精讲 第七集 Range(五)字体格式精讲

    本课程<win32com操作word API精讲&项目实战>视频平台以视频为主,本平台以文字为主,公众号ID:一灯编程 本节课主要讲解使用Range操作Font接口中的字体.字号. ...

  3. win32com操作word API精讲 第十集 Paragraphs & Paragraph接口 (一)

    本课程<win32com操作word API精讲&项目实战>以视频为主,文字为辅,公众号ID:一灯编程 在word编程中,Range和Paragraph(s)接口无愧于劳模接口的称 ...

  4. win32com操作word API精讲&项目实战 预告

    对win32com的使用和研究有好一段时间了,想起本人刚开始做word编程项目时的各种痛苦:网上能找到的都是简单的示例,如同hello word一般,嚼之无味又无可奈何.读office的word接口文 ...

  5. win32com操作word 第三集:Range精讲(一)

    本课程<win32com操作word API精讲&项目实战>,本公众号以文字分享为主,B站与视频号则发布视频分享,ID均为:一灯编程 本集开始,将会深入Document接口.打开或 ...

  6. win32com操作word 第二集:Application&Documents接口

    本课程<win32com操作word API精讲&项目实战>以视频为主,文字教程为辅,公众号ID:一灯编程. 先回答一个网友私信问题: win32com和微软的word接口文档有什 ...

  7. WKWebView API精讲(OC)

    WKWebView API精讲(OC) 前言 鉴于LL同志对笔者说:“能不能写个OC版本的WKWebView的使用教程?”,还积极打赏了30RMB,笔者又怎么好意思拒绝呢,于是才有了下文. 所有看到本 ...

  8. win32com操作word(2):常用用法

    一.对象的位置关系: 1.Range属性位于(部分): Selection__Section__Cell__Paragraph__Table__Bookmark__Comment__Row__List ...

  9. win32com操作word(1):几个重要的对象(28.35)

    Pywin32模块为python封装了操作windows底层API函数的功能.而win32com是Pywin32下面的一个模块,专门负责操作com组件. 由于office工具(Word.Excel等) ...

  10. win32com操作word(3):导入VBA常量

    导入VBA常量方法:http://blog.sina.com.cn/s/blog_a73687bc0101k8x8.html 我们之前说过,win32com组件为python提供处理COM组件(.dl ...

随机推荐

  1. Element的安装与基本使用

    一.什么是Element? Element是饿了么团队研发的一套为开发者与设计师等准备的基于Vue2.0的桌面端组件库,使开发人员可以快速拼凑出一套页面 组件:组成网页的部件,例如:超链接,按钮,图片 ...

  2. [ABC265G] 012 Inversion

    Problem Statement You are given a sequence $A=(A_1,\ldots,A_N)$ of length $N$. Each element is $0$, ...

  3. Rong晔大佬教程学习(2):取指

    1.rvseed_defines.v(定义了一些参数,没有实际意义) 该文件定义了一些基本参数,在后续的代码中都会调用该文件 // simulation clock period `define SI ...

  4. SpringBoot整个RabbitMQ详细~

    搭建环境 1.安装RabbitMQ,我是用的是Docker方式安装的,大家根据个人习惯自行安装哈 docker run -d -p 5672:5672 -p 15672:15672 --name ra ...

  5. 【云原生 | Kubernetes 系列】—K8S部署RocketMQ集群(双主双从+同步模式)

    [云原生 | Kubernetes 系列]-K8S部署RocketMQ集群(双主双从+同步模式) 版权 本文为云录原创文章,转载无需和我联系,但请注明来自云录 https://www.yunzhuan ...

  6. const和C指针

    转载:https://mp.weixin.qq.com/s?__biz=Mzk0NDYzNTI1Ng==&mid=2247483733&idx=1&sn=9af9bc64a0b ...

  7. react-native在windows环境搭建并使用脚手架新建工程

    截止到2024-1-11,使用的主要软件的版本如下: 软件实体 版本 react-native 0.73.1 react 18.2.0 react-native-cli 2.0.1 Android S ...

  8. K8S系列一:概念入门

    K8S系列一:概念入门 写在前面 本文组织方式: K8S的架构.作用和目的.需要首先对K8S整体有所了解. K8S是什么? 为什么是K8S? K8S怎么做? K8S的重要概念,即K8S的API对象.要 ...

  9. 文心一言 VS 讯飞星火 VS chatgpt (52)-- 算法导论6.2 4题

    四.当i>A.heap-size/2 时,调用 MAX-HEAPIFY(A,i)会有什么结果? 文心一言: 当 i > A.heap-size/2 时,调用 MAX-HEAPIFY(A, ...

  10. Blazor技术入门

    曾写过点儿前后端分离的项目(Vue+.NET Core Web API).WPF和WinForm.因为Blazor不支持小程序的原因(相对于uniapp),所以只是大概知道Blazor可以写Web.P ...