使用VBA快速将文本转换为Word表格

Word提供了一个强调的文本转表格的功能,结合VBA可以实现文本快速转换表格。

示例文档如下所示。

在这里插入图片描述

现在需要将上述文档内容转换为如下格式的表格,表格内容的起始标志为@@@

在这里插入图片描述

示例代码如下。

Sub SearchTab()Application.DefaultTableSeparator = "*"Selection.HomeKey unit:=wdStoryWith Selection.Find.Text = "@@@".Forward = True.Wrap = wdFindStop.Format = False.MatchAllWordForms = FalseDo While .ExecuteWith Selection.Delete.Expand wdParagraph.Font.Italic = True.Range.Font.TextColor.RGB = RGB(97, 146, 0).MoveDown unit:=wdParagraph.MoveDown unit:=wdParagraph, Count:=6, Extend:=wdExtendCall textToTable.Collapse wdCollapseEndEnd WithLoopEnd With
End Sub

【代码解析】
第2行代码设置默认表格分隔符为星号(*),这是文本转换为表格时的相关设置。
第3行代码将光标移动到文档的开头,准备进行查找操作。
第4行代码开始查找,通过Selection.Find对象定义查找条件。
第5行代码指定要查找的文本为@@@
第6行代码定义查找方向为向前。
第7行代码设置查找范围停止在文档的结尾。
第8行代码取消格式匹配选项。
第9行代码禁用同义词匹配。
第10行代码使用Do While循环查找文档中的所有符合条件的文本。
第11~18行代码对每一个找到的文本执行一系列操作。
第12行代码删除选中的查找到的文本,即起始标志@@@
第13行代码将选区扩展到整段,即表格之上的标题行。
第14行代码将整段的字体设置为斜体。
第15行代码将段落的字体颜色设置为指定的绿色。
第16~17行代码向下移动光标两个段落,并选中接下来的6个段落。
第18行代码调用textToTable子程序,将选中的文本转换为表格。
第19行代码将选区折叠到当前段落的末尾,准备开始查找下一个匹配项。

Sub textToTable()Dim tempString As String, i As IntegerSelection.ConvertToTable Separator:=wdSeparateByDefaultListSeparator, _NumColumns:=5, NumRows:=6, AutoFitBehavior:=wdAutoFitFixedWith Selection.Tables(1).Style = "Table Grid".ApplyStyleHeadingRows = True.ApplyStyleLastRow = False.ApplyStyleFirstColumn = True.ApplyStyleLastColumn = FalseFor i = 1 To .Rows.CountIf i > 2 Then .Rows(i).Cells.MergeIf Int(i / 2) <> i / 2 Then.Rows(i).Shading.Texture = wdTextureNone.Rows(i).Shading.ForegroundPatternColor = wdColorAutomatic.Rows(i).Shading.BackgroundPatternColor = -603923969.Rows(i).Range.Font.Bold = TrueEnd IfNextEnd With
End Sub

【代码解析】
第3~4行代码将选中的文本转换为表格。具体参数如下:

  • Separator:=wdSeparateByDefaultListSeparator 表示使用默认的列表分隔符进行列分隔。
  • NumColumns:=5 设置表格为5列。
  • NumRows:=6 设置表格为6行。
  • AutoFitBehavior:=wdAutoFitFixed 表示表格列宽是固定的,不自动调整。
    第5~14行代码在表格转换完成后对其样式和内容进行设置。
    第6行代码将表格样式设置为 “Table Grid”(网格样式)。
    第7行代码设置表格的标题行(第一行)应用样式。
    第8行代码设置最后一行不应用样式。
    第9行代码设置表格的第一列应用样式。
    第10行代码设置最后一列不应用样式。
    第11~19行代码通过For循环遍历表格的每一行:
    第12行代码判断当前行的行号是否大于2,如果是,则合并该行的所有单元格,如表格中第3~6行只有单个单元格。
    第13行代码判断当前行为奇数行时,将其背景设置为指定颜色,并加粗字体。
    第14行代码中 Texture = wdTextureNone 表示无纹理。
    第15行代码中 ForegroundPatternColor = wdColorAutomatic 表示前景颜色为默认值。
    第16行代码中 BackgroundPatternColor = -603923969 设置背景颜色为指定的RGB值(浅灰色)。
    第17行代码设置字体设置为加粗。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/437534.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

828华为云征文 | 基于华为云Flexus云服务器X搭建部署——AI知识库问答系统(使用1panel面板安装)

&#x1f680;对于企业来讲为什么需要华为云Flexus X来搭建自己的知识库问答系统&#xff1f;&#xff1f;&#xff1f; 【重塑知识边界&#xff0c;华为云Flexus云服务器X引领开源问答新纪元&#xff01;】 &#x1f31f; 解锁知识新动力&#xff0c;华为云Flexus云服务器X携…

【算法】DFS 系列之 穷举/暴搜/深搜/回溯/剪枝(上篇)

【ps】本篇有 9 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1&#xff09;全排列 .1- 题目解析 .2- 代码编写 2&#xff09;子集 .1- 题目解析 .2- 代码编写 3&#xff09;找出所有子集的异或总和再求和 .1- 题目解析 .2- 代码编写 4&#xff09;全排列 II…

C语言语句、语句分类及注释

文章目录 一、语句和语句分类二、注释&#x1f355;注释是什么&#xff1f;为什么写注释&#xff1f;1. /**/的形式2. //的形式3. 注释会被替换 三、随机数的生成1.rand函数2.srand函数3.time函数4.设置随机数的范围 四、C99中的变长数组五、问题表达式解析表达式1表达式2表达式…

手机实时提取SIM卡打电话的信令声音-(题外、插播一条广告)

手机实时提取SIM卡打电话的信令声音-(题外、插播一条广告) 前言 在去年的差不多这个时候&#xff0c;我们做了一遍外置配件的选型&#xff0c;筛选过滤了一批USB蓝牙配件和type-c转usb的模块。详情可参考《外置配件的电商价格和下载链接的选型.docx》一文&#xff1a;蓝牙电话…

FireRedTTS - 小红书最新开源AI语音克隆合成系统 免训练一键音频克隆 本地一键整合包下载

小红书技术团队FireRed最近推出了一款名为FireRedTTS的先进语音合成系统&#xff0c;该系统能够基于少量参考音频快速模仿任意音色和说话风格&#xff0c;实现独特的音频内容创造。 FireRedTTS 只需要给定文本和几秒钟参考音频&#xff0c;无需训练&#xff0c;就可模仿任意音色…

Python基础语句教学

Python是一种高级的编程语言&#xff0c;由Guido van Rossum于1991年创建。它以简单易读的语法和强大的功能而闻名&#xff0c;被广泛用于科学计算、Web开发、数据分析等领域。 Python的应用领域广泛&#xff0c;可以用于开发桌面应用程序、Web应用、游戏、数据分析、人工智能等…

基于SSM的列车订票管理系统(含源码+sql+视频导入教程+文档+PPT)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的列车订票管理系统3拥有两种角色&#xff1b;管理员、用户 管理员&#xff1a;用户管理、车票管理、购票指南管理、系统管理等 用户&#xff1a;发布帖子、登录注册、购票等 1.…

C++继承与菱形继承(一文了解全部继承相关基础知识和面试点!)

目的减少重复代码冗余 Class 子类(派生类) &#xff1a; 继承方式 父类&#xff08;基类&#xff09; 继承方式共有三种&#xff1a;公共、保护、私有 父类的私有成员private无论哪种继承方式都不可以被子类使用 保护protected权限的内容在类内是可以访问&#xff0c;但是在…

Python | Leetcode Python题解之第452题用最少数量的箭引爆气球

题目&#xff1a; 题解&#xff1a; class Solution:def findMinArrowShots(self, points: List[List[int]]) -> int:if not points:return 0points.sort(keylambda balloon: balloon[1])pos points[0][1]ans 1for balloon in points:if balloon[0] > pos:pos balloo…

ubuntu18.04安装教程

window分区 制作启动盘 插入 按F12进入启动选项页面&#xff0c;选择usb启动 选择install ubuntu 进入安装页面 选择中文&#xff08;简体&#xff09; 键盘布局选择英语&#xff08;美国&#xff09; 选择正常安装 等一小会儿 选择其他选项 分区 包括500mb系统分区 1000…

通信工程师笔记

第一章 1.支撑网是使业务网正常运行,增强网络功能,提供全网服务质量以满足用户要求的网络。 2.常见的有线通信线路包括&#xff08;1&#xff09;双绞线&#xff0c;&#xff08;2&#xff09;同轴电缆&#xff0c;&#xff08;3&#xff09;光纤等&#xff0c;无线通信线路是…

鼓组编曲:鼓编写技巧之进鼓加花编写

为了方便快速查阅和运用一些教程笔记&#xff0c;个人记性有时可能不是特别好&#xff0c;所以只能疯狂做笔记了&#xff0c;制作以下图文笔记&#xff0c;仅供参考…… 鼓组加花 鼓的变动 进鼓后然后就可以动次打次了 下面是2个底鼓的加花

北京市大兴区启动乐享生活 寻味大兴 美食嘉年华 系列促销费活动

北京市大兴区启动乐享生活 寻味大兴 系列促销费活动 区商务局副局长 兰莉 致开幕辞 区餐饮行业协会会长 董志明 介绍活动内容 2024年9月30日&#xff0c;由大兴区商务局主办、大兴区餐饮行业协会承办&#xff0c;并得到高米店街道和大兴绿地缤纷城大力支持的“乐享生活 寻味大…

we3.0里的钱包是什么?

we3.0里的钱包是什么&#xff1f; 在Web3.0的语境中&#xff0c;以太坊钱包是一种专为与以太坊区块链网络及其去中心化应用&#xff08;DApps&#xff09;交互而设计的数字钱包。这种钱包不仅支持用户存储、发送和接收以太币&#xff08;ETH&#xff09;&#xff0c;还允许用户…

(十七)、Mac 安装k8s

文章目录 1、Enable Kubernetes2、查看k8s运行状态3、启用 kubernetes-dashboard3.1、如果启动成功&#xff0c;可以在浏览器访问3.2、如果没有跳转&#xff0c;需要单独安装 kubernetes-dashboard3.2.1、方式一&#xff1a;一步到位3.2.2、方式二&#xff1a;逐步进行 1、Enab…

Java网络通信—TCP

1.客户端 2.服务端

系统安全 - Linux 安全模型及实践

文章目录 总览Linux安全Linux 安全模型用户层权限管理的细节多用户环境中的权限管理文件权限与目录权限 最小权限原则的应用Linux 系统中的认证、授权和审计机制认证机制授权机制审计机制 主机入侵检测系统&#xff08;HIDS&#xff09;_ Host-based Intrusion Detection Syste…

JavaWeb酒店管理系统(详细版)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

MongoDB入门:安装及环境变量配置

一、安装MonggoDB Windows系统安装MongoDB 1、下载MongoDB安装包 访问MongoDB官方网站&#xff0c;选择与Windows系统相匹配的MongoDB Community Server版本进行下载。 Download MongoDB Community Server | MongoDB 2、安装MongoDB 双击下载好的安装包文件&#xff0c;根…

【数据结构】图论基础

文章目录 图的概念图的基本概念图的类型图的表示方法 图的相关基本概念1. 路径&#xff08;Path&#xff09;2. 连通性&#xff08;Connectivity&#xff09;3. 图的度&#xff08;Degree&#xff09;4. 子图&#xff08;Subgraph&#xff09;5. 生成树&#xff08;Spanning Tr…