VBA之Word应用第二章第六节:删除(Delete)书签(Bookmark)

2024-06-07 21:28

本文主要是介绍VBA之Word应用第二章第六节:删除(Delete)书签(Bookmark),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《VBA之Word应用》(版权10178982),是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向对象编程”讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实例让大家感受到Word VBA 的妙处。

这套教程是专门针对WORD VBA 的教程,是VBA中的稀缺资源,我给这套教程分归为中级教程,希望大家在VBA入门后再学习这套教程,这样会更加深入的理解面向对象编程的意义。

本套教程共三册十六章,今日内容为第二章部分:VBA之Word应用第二章第六节:删除(Delete)书签(Bookmark)3067900b72a61411686e6edbe28711c1.jpeg

分享成果,随喜正能量】 善心善行的你,利己利他,积累无量福德,菩萨常伴左右,保佑一生平安, 财运亨通,福禄双收。 。

第六节 删除(Delete)书签(Bookmark)

大家好,我们继续书签的相关讲解。我们在之前讲解了书签的添加、转到,这节的内容是如何删除书签。在Word VBA的实际操作讲解中,我们首先讲的是书签,是因为书签对象在我们实际操作中利用的非常多,也是非常实用的,理解起来也比较容易。

1 删除书签的思路分析

如何删除书签呢?我们在讲书签对象的时候讲过Bookmark.Delete方法,这里将利用这种方法来完成我们的目的。

要想删除书签,那么这个书签是必须存在的。为了保证书签的存在,我们可以先添加一个书签,在添加书签的时候要确认一下这个书签是否是存在的,如果已经存在,那就不用添加了,同时提示给用户。如果不存在,则开始添加,同样提示给用户。

在确保书签存在后,我们就可以删除书签了。同样在删除前,也要用户进行确认:是否真的进行删除。在得到用户认可后再删除,如果用户此时不想删除了,可以回退一步,不再进行删除的操作。

以上的过程也是我们在平时写代码时的一般过程,也是一个程序和用户间的交互过程,要每一步操作都要按照用户的意图来进行。

2 删除书签的代码

删除书签的思路确定后,我们就要利用代码来实现了,我先把代码介绍给大家:

Sub mynzG() '删除书签

Dim myString As String

myString = "B007"

'在光标处添加书签

If ActiveDocument.Bookmarks.Exists(myString) = False Then

MsgBox "名称为 """ & myString & """的书签将被添加!"

ActiveDocument.Bookmarks.Add _

Name:=myString, Range:=Selection.Range

Else

MsgBox myString & "书签已经存在,无法添加!"

End If

'删除书签

myUU = MsgBox("你是否确定要删除" _

& "名称为 """ & myString & """的书签?", vbYesNo)

If myUU = vbYes Then

ActiveDocument.Bookmarks(Index:=myString).Delete

End If

End Sub

代码截图:

20e4e0c3da612f1f82e2fa102bd64f07.jpeg

3 删除书签代码的讲解及运行效果

我们先看看上面代码的解读:

1) myString = "B007" 这句代码是给一个变量赋值,实际上就是指定一个书签。

2) If ActiveDocument.Bookmarks.Exists(myString) = False Then 这句代码是判断上面这个书签是否存在,这句的意义是假如这个书签不存在的情况。

3) MsgBox "名称为 """ & myString & """的书签将被添加!" 这句代码将弹出一个对话框提示给用户标签将被添加,大家要注意这段代码中引号的写法

  • 在书签已经存在的交互代码中大家可以测试一下:

1) MsgBox """" & myString & """书签已经存在,无法添加!"

2) MsgBox Chr(34) & myString & Chr(34) & "书签已经存在,无法添加!"

以上两段代码就是输出显示引号的典型代码。第一种方案是代码中采用引号的写法,大家可以按照两个引号迭代后可以输出显示一个引号来记忆;第二种方案是以Chr(34)来代替引号的写法,在代码中把Chr(34)看作一个字符串来书写即可。

4)ActiveDocument.Bookmarks.Add _

Name:=myString, Range:=Selection.Range

以上这段代码将添加一个书签,添加书签的名字是myString变量所代码的值,添加的位置是光标所在处。

5)MsgBox myString & "书签已经存在,无法添加!" 这句代码是完成已经有了指定标签的情况下的交互。提示给用户书签已经存在了。

6)myUU = MsgBox("你是否确定要删除" _

& "名称为 """ & myString & """的书签?", vbYesNo)

以上代码又是一个交互,是要求用户确认一下是否要删除这个书签,这个确认是最后的确认,如果用户完成确认,将彻底删除这个书签,这里我们仍是要注意引号的用法。这一点在上面的介绍中给出了两种用法,大家要注意。

7)If myUU = vbYes Then

ActiveDocument.Bookmarks(Index:=myString).Delete

End If

以上代码是在客户认可的条件下完成删除的操作。用的是Bookmarks.Delete方法。

代码的运行效果,在宏菜单下,我们选中上述的mynzG过程,点击运行:如果已经存在了指定的书签会有下面的提示:

e4c5ab6a12bd32540e73baab02c59f32.jpeg

点击确定:

c565afb59c2c498d61c3a350d3bcd53e.jpeg

我们在这个提示中选择“是”,就删除了书签“B007”.

以上就是书签的删除过程,在这节的讲解过程中,我们同时回向了书签的添加方法,以及利用与用户交互完成逐步确认的过程。

今日内容回向:

1 在文档中如何删除书签?

2 在代码中如何让引号输出显示?

分享成果,随喜正能量

bcd364dbae5fab3d4428e765d86da360.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程及应用工具中:

2197811cabb86cf3175cd444cc8c4588.jpeg


这篇关于VBA之Word应用第二章第六节:删除(Delete)书签(Bookmark)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040341

相关文章

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和