使用VBA操作Word表格

(转)Excel VBA 操作 Word(入门篇) 原文地址 本文的对象是:有一定Excel VBA基础,对Word VBA还没有什么认识,想在Excel中通过VBA操作Word还有困难的人。 一、新建Word引用 需要首先创建一个对 Word Application 对象的引用。在VBA中,工具-引用,选取“MicroSoft Word 11.0 Object Library”。 方法一、New Word.App... 阅读详情

一、生成表格

Private Sub CreateTable(mRows As Integer, mColumns)
    Dim mRange As Range
    Set mRange = ActiveDocument.Range
    mRange.SetRange Start:=ActiveDocument.Range.End, End:=ActiveDocument.Range.End
    Set SelfGenTable = ActiveDocument.Tables.Add(Range:=mRange, NumRows:=mRows, NumColumns:=mColumns)
End Sub
上面过程的作用是在活动文档的末尾插入一个mRows行,mColumns列的表格。

二、在读写表格中的单元格

写入单元格使用如下代码:

TableObject.Cell(Row:=curRow, Column:=curColumn).Range.InsertAfter "文本"

上面代码的作用是在curRow行,curColumn列处插入字符“文本”。

其中TableObject为表格对象,如果使用了生成表格中的例子,那么可以用SelfGenTable来替代TableObject。

三、调整单元格对齐方式

1、水平对齐设置

Selection.ParagraphFormat.Alignment=水平对齐常数(具体的常数可以查看帮助文件的说明)

如何选择单元格?

  • 选定特定单元格 
    TableObject.Cell(Row:=1,Column:=1).Select’选定单元格1,1
  • 选定行 
    TableObject.Rows(i).Select’选定第i行
  • 选定列 
    TableObject.Columns(i).Select’选定第i列
  • 选定整个表格 
    TableObject.Select

    首先执行表格元素选择程序,然后再使用Selection.ParagraphFormat.Alignment设置对齐方式。

    2、垂直对齐方式

    Selection.Cells.VerticalAlignment=垂直对齐常数

    也是首先选择表格元素,可以使单个单元格,单个行、单个列或者整个表格。似乎也可以同时选择多个单元格、多个行、多个列,有兴趣的朋友可以自行寻找答案。

    四、设置表格边线类型

    下面的代码对整个表格的所有边线设置成细实线:

    SelfGenTable.Select
     With Selection       
           .Borders(wdBorderBottom).LineStyle = wdLineStyleSingle
           .Borders(wdBorderLeft).LineStyle = wdLineStyleSingle
           .Borders(wdBorderRight).LineStyle = wdLineStyleSingle 
           .Borders(wdBorderTop).LineStyle = wdLineStyleSingle 
           .Borders(wdBorderHorizontal).LineStyle = wdLineStyleSingle 
           .Borders(wdBorderVertical).LineStyle = wdLineStyleSingle
     End With
    同样是对Selection进行设置,所以可以依照上面的方法对特定的单元格、行或者列的边线样式进行分别设置,这里就不再列举了。

    五、调整表格尺寸

    下面的代码对一个六列的表格设置宽度,宽度采用百分比宽度,从左至右的宽度百分比依次为:30,10,10,30,10,10:

    Sub test()
        Dim WidthP(0 To 2) As Integer
        Dim j As Integer
        Dim i As Integer
        WidthP(0) = 30
        WidthP(1) = 10
        WidthP(2) = 10
        j = 0
        For i = 0 To SelfGenTable.Columns.Count - 1
            If j > 2 Then
                j = 0
            End If
            SelfGenTable.Columns(i + 1).PreferredWidthType = wdPreferredWidthPercent
            SelfGenTable.Columns(i + 1).PreferredWidth = WidthP(j)
            j = j + 1
        Next
    End Sub
    
    上面的代码通过Columns的PreferredWidthType属性设置表格列宽的形式,这里选择的是百分比列宽,可以根据自己的实际情况选择其他列宽形式,然后再设置相应的数值。

    表格的行高请读者以此类推(实际上我还没设置过行高,都用自动生成的就够了)

    ===============================================

    编写操作表格的程序时需要注意,Word表格的行列起始值为1,而不是0。

    ===============================================

    下面是一个拆分字符串的代码,当插入表格的文本过长时,可以设定一个长度,超过这个长度就进行回车,这样保证在设定的单元格宽度内能够写下长文本。单元格的高度会自动调整以使文本能完整的显示,这也就是我为什么没有通过代码设置单元格高度的原因。

    Private Function FoldText(mLen As Integer, mStr As String) As String '折叠文字函数,mLen为折叠前的文字长度,mStr为文字的内容
        Dim i As Integer
        Dim tmpStr(0 To 1) As String '临时字符串
        If Len(mStr) > mLen Then
            Do While Len(mStr) > mLen
                tmpStr(0) = Left(mStr, mLen)
                mStr = Right(mStr, Len(mStr) - mLen)
                tmpStr(1) = tmpStr(1) + tmpStr(0) + vbCrLf
            Loop
            tmpStr(1) = tmpStr(1) + mStr
        Else
            tmpStr(1) = mStr
        End If
        FoldText = tmpStr(1)
    End Function
    






VBA还能这么玩?Word文档一秒自动排版 Hello,各位小伙伴们大家好呀,真的是好久不见了。旅行者1号也才用20个小时回传数据到地球。这两天群里比较活跃,便上去看看发生了啥事儿,不看不知道,一看,这推文的素材不就来了嘛,嘿嘿。有一个 @小婷子 的群友在群里求助大致了解完需求之后,虽然 Word & VBA 不是很熟,但理论上大致都是相通的,查阅了一下文档,三下五除二就搞定啦。下面是 Yogurt 在这不到 1 个小时的时间里的解决过程,请各位看官笑纳。国际惯例,先将最终效果图奉上:废话不多说,让我们开始本期的 VBA 之旅。 阅读详情

相关推荐

VBA 读取WORD表格中的内容并写入到EXCEL中

读取WORD表格中的内容并写入到EXCEL中

JPC27的博客 1万+

分享个人收集或整理的word中常用的vba代码

利用VBA,配合快捷键,减少重复劳动

而且的专栏 1万+

MFC下使用C++操作Word文档

由于项目需求,在MFC环境下操作将数据和图片写入word文档,之前没有接触过,网上查阅了很多资料,终于把任务完成。理解的不是很透彻,但是这些东西应该够用了,写篇博客记录一下,以便以后再用到。 (1)VS环境下创建一个MFC应用程序,然后在项目上单击右键,选择 类向导-----添加类----类型库中的MFC类。在弹出的对话框中选择文件,位置选择office安装目录下的...

GIS_yuhua的博客 7577

VBA宏实现Word论文自动排版

VBA宏实现Word论文自动排版

qq_49750651的博客 9047

word文档批量处理表格

可以使用宏,编写脚本代码来进行批量修改。需要在“开始”-“选项”页将开发工具放入快捷工具栏,点击“开发工具”,选择“宏”,可以看到有很多预设的宏代码,这里不用自带的,点击创建,敲入代码能达到想要的功能。 全选word中所有的表格 Sub SelectAllTable() Dim tempTable As Table Application.ScreenUpdating = False '判断文档是否被保护 If ActiveDocument.Pro

TheTopMing的博客 2415

VBA编程指南:使用VBA提升Word文档处理能力

在本文中,我们将重点介绍如何使用VBA编程来增强Word文档的处理能力。要创建该宏,请按下 “Alt+F11” 打开VBA编辑器,然后选择 “插入” -> “模块”,在新建的模块中粘贴上述代码。当然,这只是其中的一小部分功能,VBA还提供了丰富的操作方法和属性,可以根据你的具体需求进行扩展和定制。使用VBA,我们可以轻松地对Word文档进行格式化操作,例如修改字体、调整段落格式、设置页边距等。在Word中,宏是一系列的VBA代码,可以录制和执行,以实现自动化操作。上述代码中,我们使用。

DevWizard的博客 1315

【曾贤志】Word VBA视频教程 完整版 精通版

Word 是一个的办公软件,然而很多人只是把它当做了打字软件来用,90%的用户只用到了WORD的10%!这些未用到的功能的开发很多是和VBA分不开的。   VBA的特点是将VB语言与应用对象模型结合起来,处理各种应用需求。WORD VBA则是将VB应用于Word对象模型,或者说是用VB语言来操控这些Word对象模型,以达到各种应用的要求。所以,如果你想通过VBA控制Word,必须同时熟悉VB语言和Word对象模型。   系统讲解关于Word中,VBA的使用方法。从基础讲解,例举大量的VBA实例。加强对word的开发应用。讲解关于word vba的基础知识,文档的控制。讲解word表格的批理操作关于图形图片的操控邮件合并的批理管理操作。

Python爬虫:无账号无限制获取企查查信息

无限制企查查爬虫 ​通过网上爬虫获取了全国所有企业,然后就需要补充企业信息,首先想到的就是企查查,启信宝等专业网站,最终选择了企查查,尝试了多种方法: 1、selenium爬虫,绕过企查查的登录验证,但账号和IP限制太大,最终放弃 2、通过requests直接请求+cookies,遇到了cookie有效期和限制问题 不断的尝试和修改参数,最终发现一种有效方式selenium+ wep 只需要IP代理,不需要账号,没有限制,因为是没有登录,拿到的信息有限,能展示的都能获取。 一、初始化..

攻城狮的家园 1万+

【Office】Word中VBA宏的使用(表格批量操作)

对word中的表格进行批量选中修改操作

qq_54177358的博客 7428

GD32F103实战:用ADC+DMA实现高精度多通道电压采集与OLED实时显示(附完整工程)

本文详细介绍了如何利用GD32F103的ADC+DMA技术实现高精度多通道电压采集,并通过OLED实时显示数据。文章包含硬件架构设计、ADC配置技巧、DMA传输优化及显示系统实现方案,提供完整工程代码和调试指南,适用于工业传感器和环境监测设备开发。

weixin_42567497的博客 400

工业相机与ABB机器人Socket通信实战:手把手教你用RobotStudio 6.08搭建视觉引导工作站

本文详细介绍了工业相机与ABB机器人通过Socket通信实现视觉引导工作站的实战教程。使用RobotStudio 6.08平台,涵盖工作站搭建、坐标系标定、RAPID代码开发及TCP/IP通信配置,特别解析了欧拉角与四元数转换等关键技术难点,助力智能制造产线升级。

weixin_42531516的博客 407

如何使用VBA宏高效操作Word文档中的表格(对齐与样式)

在日常办公和文档处理中,Word表格的格式调整和内容编辑往往是耗时费力的重复性工作。本文将详细介绍如何利用VBA宏自动化完成Word表格的常见操作,大幅提升工作效率。

u011186532的专栏 3364

16、AI与无人机助力紧急器官移植及医疗物资运输

本文探讨了AI与无人机(UAV)集成模型在紧急器官移植和医疗物资运输中的应用。传统运输方式受限于交通、时间和环境因素,而基于图神经网络(GNN)的AI-UAV系统可实现高效、智能、全天候的医疗物资配送,具备实时温湿度监控、自动导航和适应复杂地形等优势。文章分析了该模型在血液、器官运输中的关键作用,展示了其在澳大利亚、中国、美国等国的实际应用案例,并通过表格与流程图说明运作机制。同时,文章还探讨了技术、法规和社会层面的挑战及应对策略,展望了未来技术融合、应用拓展和国际合作的发展趋势,凸显其在全球医疗物流中的广

lll78的博客 102

word(2010)使用VBA完成批处理操作-批量清除表格某单元格内容

word 2010 宏的使用Word中对宏的定义Word宏的优缺点Word宏运用实例---批量提取word数据结语 Word中对宏的定义 Microsoft Word中对宏定义为:“宏就是能组织到一起作为一独立的命令使用的一系列word命令,它能使日常工作变得更容易”。Word使用宏语言Visual Basic将宏作为一系列指令来编写。(本人理解宏就是自己通过录制得到的一个“按钮”,点击“按钮”后会自动执行录制的操作) Word宏的优缺点 说到Word宏,就不得不提出VBA,宏和VBA本质相同,都是使用VB

qq_36381700的博客 8326

拼多多小球直径轨迹重合验证码识别

本文分析了拼多多新型验证码的实现原理与破解思路。该验证码采用Canvas绘制小球弹跳轨迹验证,主要难点在于参数还原和轨迹计算。作者通过逆向工程提取了包括弹跳段数、振幅、旋转参数等关键配置(存储在config.json),并利用Python成功模拟了验证过程。核心算法将滑块值映射为0-1区间,通过三次变换计算小球位置,最终采用斜率截距最小值比对完成验证。整个过程分为静态初始化、核心计算和动态渲染三个阶段,其中干扰元素不影响核心验证逻辑。该研究仅用于技术学习,强调严禁任何违法行为。

码王吴彦祖的博客 1331

华为OD机考双机位C卷 - 敌情监控 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 敌情监控 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 964

Word表格之VBA知识

Table对象(因为是对象,所以用Set赋值) 该对象代表一个单独的表格。Table 对象是Tables集合的一个成员。Tables集合包含了指定的选定内容、范围或文档中的所有表格。 下面是Table的常用方法(注意是部分,不是全部,只例出重要的方法,下面的属性皆如此,如果详细面全部的了解,请看Word VBA自带的帮助。VBAWD10.chm) 使用Table对象 可使用 Tables(...

1万+

1、网站可靠性工程(SRE):原理、实践与转型指南

本文深入探讨了网站可靠性工程(SRE)的核心原理、实践方法以及组织转型策略。从SRE的基本概念如服务水平指标(SLI)、服务水平目标(SLO)和错误预算入手,详细解析了如何通过SRE实现产品开发、运营和管理团队的高效协作。此外,还涵盖了SRE的实施步骤,包括现状评估、组织认同、基础设施建设、事件响应、错误预算政策制定以及组织结构设计等内容。最后,文章展望了SRE的未来发展,强调了服务目录、合规监管及SRE文化建设的重要性,为企业的现代化运营体系转型提供了全面指南。

xk7n92h3p5m的博客 145

VBA 学习笔记 Wrod表格设置

选择所有当前文档所有表 '名称 值 说明 'wdEditorCurrent -6 代表文档的当前用户。 'wdEditorEditors -5 代表使用"信息版权管理"的文档的"编辑"组。 'wdEditorEveryone -1 代表打开文档的所有用户。 'wdEditorOwners -4 ...

灵台方寸山斜月三星洞 2923

4、LTE无人机认证:保障通信安全的新方案

本文针对LTE网络中无人机通信存在的安全风险,提出了一种基于可信第三方GCS的新型认证协议。该协议通过非对称加密和哈希函数保护IMSI等敏感信息,防止身份泄露、中间人攻击、拒绝服务攻击和位置追踪等威胁。利用Scyther工具对协议进行形式化分析,验证了其在机密性、一致性和活性等方面的安全属性,证明该方案能有效提升无人机在LTE网络中的通信安全性与隐私保护能力。

pink的博客 60

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

写一段word选中全部表格的vba代码

下面是选中所有 Word 文档中的表格的 VBA 代码: Sub SelectAllTables() Dim tbl As Table For Each tbl In ActiveDocument.Tables tbl.Range.Select Next tbl End Sub 你可以在 Word 中打开 VBA 编辑器(通过“开发工具”选项卡),将上面的...

weixin_42611310的博客 1711

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

使用VBA代码选中word文档的所有表格

按Alt+F11调出窗口。 选择视图-代码窗口,然后在弹出的窗口粘贴下面代码。 Sub selecttables() Dim mytable As Table For Each mytable In ActiveDocument.Tables mytable.Range.Editors.Add wdEditorEveryone Next ActiveDocument.SelectAllEditableRanges (wdEditorEveryone) ActiveDocument.DeleteAllEdi

simple的博客 6613

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

利用VBA宏高效将Word文本批量转化为表格

在日常办公和文档处理过程中,我们经常会遇到需要将一段结构化文本(如“类型:说明”格式)批量整理成表格的需求。手动操作不仅繁琐,还容易出错。其实,借助Word自带的VBA宏功能,我们可以一键实现文本到表格的高效转换,大大提升工作效率。本文将详细介绍如何编写和使用VBA宏,将特定格式的文本快速转化为Word表格。

u011186532的专栏 1928

关于vba实现删除word文档中的指定表格。

最近在做,通过Excel当中给定的字段,打开word,对word当中的标签进行操作。但是好像给表格打了标签,在置空的时候不能置空。 然后就想到能不能直接删除表的操作就可以了,于是尝试通过vba的代码删除整个表。代码如下: Public Function deltable(app As Object) '在word文档当中删除文档中的第5个表 wdApp.Act...

weixin_30496431的博客 1786

vba word 查找_WORD【VBA排版】

多年前收集的资料,包括PDF文档和源码:本身word用的相对较少,有需求的看看Word VBA简介1.1VBA概述1.2 VBA的用途1.3VBA的开发环境简介1.4VBA程序的执行第2章Word VBA语言基础2.1VBA基本语法2.2VBA运算符12.3VBA的程序结构及重要语句第3章使用VBA的函数3.1VBA过程概述3.2子过程((sub过程)3.3函数的概念3.4使用过程3.5...

weixin_39638526的博客 690

VBA学习(31):Excel和Word数据交互读取2

实际中,也就这几种应用了,简单的例子只是为了有个初步的了解,关键还是自己的不断积累经验。遇到其他好的例子再放上来写第三篇。

nianfen的博客 2180
上一篇: 银行账号和身份证号的数据有效性设置
下一篇: 【自定义函数】数据文本字符反转
foreverfall
博客等级 码龄18年 46粉丝 1原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值