Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当文本为PH时,使用宏更改word表列的背景色

当文本为PH时,使用宏更改word表列的背景色
EN

Stack Overflow用户
提问于 2019-08-05 20:43:51
回答 2查看 837关注 0票数 0

在开发宏以查看word文档和更改表中的背景颜色列时,我遇到了困难。

宏需要查看word文档中的每个表,如果单元格具有文本“PH”,则该单元格的列需要更改背景颜色。

我已经有一段时间没用VB了。我在下面也尝试过cell.range和Selection.Find,但是一直都有错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Private Sub Document_Open()

Dim Tbl As Table
Dim Cel As Cell
Dim Rw As Row
Dim Col As Columns

For Each Tbl In ActiveDocument.Tables
  Set Col = Tbl.Columns
  For Each c In Col

    With Selection.Find
     .Execute FindText:="Public Holiday"
     c.Shading.BackgroundPatternColorIndex = wdRed
    End With   
  Next
Next

End Sub
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-05 21:03:29

测试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Dim Tbl As Table
Dim i As Integer, j As Integer

For Each Tbl In ActiveDocument.Tables

    For j = 1 To Tbl.Columns.Count

        For i = 1 To Tbl.Rows.Count

            If InStr(1, Tbl.Cell(i, j).Range.Text, "PH") Then Tbl.Columns(j).Shading.BackgroundPatternColor = -738132122

        Next

    Next

Next

循环遍历每个单元格并检查它是否包含"PH",如果是,则对该列进行着色。

票数 0
EN

Stack Overflow用户

发布于 2019-08-06 03:42:28

下面的方法对我有用,比循环表格和表格单元格要快一些。

相反,它在整个文档中搜索PH,然后检查找到的区域是否在表中。如果是,则对该列进行格式化。然后,搜索从下一个单元格开始。请注意,我已经将此代码设置为“匹配大小写”,以便它只获取PH值,而不是ph值或任何其他变量。否则,它最终会识别诸如电话之类的单词.

处理表列通常很棘手,因为表列看起来可能是连续的,但它不是。只有行是连续的(单词解析从左到右,从上到下)。因此,除非一个接一个地选择列,否则就不可能逐列搜索。这是问题中的代码的另一个问题:它使用Selection,但所选内容不会更改为应该搜索的内容。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Private Sub Document_Open()
    Dim rngFind As Word.Range
    Dim found As Boolean

    Set rngFind = ActiveDocument.content
    With rngFind.Find
        .ClearFormatting
        .Wrap = wdFindStop
        .Text = "PH"
        .MatchCase = True
        found = .Execute
        Do
            If found Then
                If rngFind.Information(wdWithInTable) Then
                    rngFind.Columns(1).Shading.BackgroundPatternColorIndex = wdRed
                    rngFind.MoveStart wdCell, 1
                Else
                    rngFind.Collapse wdCollapseEnd
                End If
            End If
            found = .Execute
        Loop While found
    End With
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57369075

复制
相关文章
更改TabLayout选中的背景色
项目中有这种需求,google了下发现了解决方案,摘录如下方便大家排查. 原文链接
夏洛克的猫
2018/10/18
3.8K0
更改TabLayout选中的背景色
Word VBA技术:创建、打开或关闭文档时自动运行宏
在Word中,按Alt+F11组合键打开VBE,然后在“工程 – Project”窗口中,双击“Microsoft Word对象”,再双击“ThisDocument”。此时,在右侧代码窗口顶部,会看到两个列表框。单击左侧下拉列表,将其从“(通用)”更改为“Document”,VBA将自动创建一个名为Document_New()的过程。如果单击右侧下拉列表,将看到很多可供选择的事件,其中包含三个事件:New、Open和Close,可以从列表中选择“Close”或“Open”以插入Document_Close()或Document_Open()过程,或者可直接在代码窗口输入过程名。
fanjy
2023/02/24
3.2K0
mybatis当传入数据类型为Int时并且值为0时,会判断为空字符串
今天在mbatis中使用Xml配置sql语句时,出现了这样一个问题。当我传入的参数为0去做判断时,mybatis会把参数0当成是空字符串去判断而引起查询结果错误。
botkenni
2022/06/01
3.6K0
Collectors.toMap 当value为空时,报空指针
import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors;
botkenni
2022/11/12
3.1K0
Collectors.toMap 当value为空时,报空指针
CSS样式更改——文本Content
上篇文章主要讲述了CSS样式更改中的背景Background,这篇文章我们来谈谈文本Content内容的基础用法。
前端皮皮
2020/11/26
1.6K0
当不使用会话状态时禁用它
并不是所有的应用程序或页都需要针对于具体用户的会话状态,您应该对任何不需要会话状态的应用程序或页禁用会话状态。
Java架构师必看
2021/03/22
5070
Word VBA技术:复制带有自动编号的文本并在粘贴时保留编号的数字
在Word文档中,复制文本并在某处粘贴是经常要进行的操作。然而,如果文档中包含有自动编号的文本内容,例如以自动编号的数字开头的文本,如果要复制的内容不包括第一个编号项,那么这种复制粘贴操作可能会导致问题。在这种情况下,原始文档中的数字和粘贴的文本将不匹配。
fanjy
2023/02/24
2.3K0
python更改文字为竖排
python更改文字方向,自定义总行数。 #!/usr/bin/env python #-*- coding:utf-8 -*- x=u'观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄。舍利子,色不异空,空不异色,色即是空,空即是色,受想行识,亦复如是。舍利子,是诸法空相,不生不灭,不垢不净,不增不减。是故空中无色,无受想行识,无眼耳鼻舌身意,无色声香味触法,无眼界,乃至无意识界。无无明,亦无无明尽,乃至无老死,亦无老死尽。无苦集灭道,无智亦无得。以无所得故,菩提萨埵,依般若波罗蜜多故,心无挂碍
py3study
2020/01/07
1.1K0
IL3002:当发布为单个文件时,避免调用
将应用发布为单个文件(例如将项目中的 PublishSingleFile 属性设置为 true)时,调用使用 RequiresAssemblyFilesAttribute 属性注释的成员与单文件不兼容。 这些调用可能不兼容,因为使用此属性注释的成员要求程序集文件位于磁盘上,而嵌入单文件应用的程序集已加载到内存中。
呆呆
2022/02/26
4580
sas文本挖掘案例:如何使用SAS计算Word Mover的距离
Word Mover的距离(WMD)是用于衡量两个文档之间差异的距离度量,它在文本分析中的应用是由华盛顿大学的一个研究小组在2015年引入的。
拓端
2020/07/17
1.2K0
sas文本挖掘案例:如何使用SAS计算Word Mover的距离
SQLserver2019当保存时出现不允许保存更改,阻止保存要求重新创建表的更改解决方案。
第一步:工具→选项 2,取消勾选
SingYi
2022/07/14
1.6K0
SQLserver2019当保存时出现不允许保存更改,阻止保存要求重新创建表的更改解决方案。
如何永久更改VS编译器字体以及背景色
在VS编译器里,假如不想使用初始化的字体,以及背景颜色的话,该如何更改呢? 1、点击菜单栏工具,再点击选项 2、在选项里找到环境,将其展开 3、点击字体与颜色,在右边就可以更改字体以及背景色了 更改后点击确定,这样以后再次创建时,就默认更改后的了。
诺诺的包包
2023/02/17
1.5K0
如何永久更改VS编译器字体以及背景色
在 Git 中当更改一个文件名为首字母大写时
一般开发中在 Mac 上开发程序,并使用 Git 进行版本管理,在使用 React 编写 Component 时,组件名一般建议首字母大写。
山月
2021/01/04
1.6K0
Java 为 Excel 中的行设置交替背景色
在制作Excel表格时,通过将数据表中上下相邻的两行用不同的背景色填充,可以使各行的数据看起来更清楚,避免看错行,同时也能增加Excel表格的美观度。本文将介绍如何在Java程序中为 Excel 奇数行和偶数行设置交替背景色。
好好学java
2020/04/15
2K0
VueCLI3如何更改安装时的包管理器为yarn或npm
在执行 vue create project 后如果显示如下 npm run serve 则表示你使用的是npm创建的项目。
smy
2018/12/24
1.9K0
idea改背景色为护眼(电脑背景色调为护眼色)
首先做一些简答的记录,护眼色 等等的设置很久以前机器上已经设置过了,今天偶尔要在其他机器上重新做一些设置反而忘记了很多步骤,
全栈程序员站长
2022/07/29
1.2K0
idea改背景色为护眼(电脑背景色调为护眼色)
当AI泡沫破裂时……
很显然我们目前处于一个不稳定的状态。这到底是一场泡沫还是一次革命?答案是当然包含一点革命——深度神经架构所创造的实实在在的成功已经颠覆了视觉和语音识别领域,更通用的机器学习也已经有了大量真实世界用例。
刀刀老高
2018/07/24
3600
当AI泡沫破裂时……
很显然我们目前处于一个不稳定的状态。这到底是一场泡沫还是一次革命?答案是当然包含一点革命——深度神经架构所创造的实实在在的成功已经颠覆了视觉和语音识别领域,更通用的机器学习也已经有了大量真实世界用例。
机器之心
2018/07/26
3760
点击加载更多

相似问题

当文本框为空时不能更改文本框的背景色

12

更改MS Word宏中选定文本的字体

11

当宏调用Excel打开时,Word冻结

230

在Word宏VBA中设置表列宽度

20

Word 2010使用宏更改样式

236
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文