vba - 如何根据单元格内容使用 RGB 颜色对 Word 单元格应用条件格式
问题描述
我有大约 100 个大型 Word 文档,其中大约有 100 个。每张桌子50张。我正在尝试找到一种快速格式化它们的方法(使用 VBA),这样我就不必手动为每个单元格着色。
我需要根据单元格的内容使用特定的 RGB 颜色为单元格着色。例如:“非常好”或“次要”的单元格,需要填写RGB 112,173,71。“良好”或“中等”的单元格需要 RGB 169,208,142。
我有大约 10 个左右不同的单词组合需要着色。
我查看了一些条件格式问题,但大多数似乎是根据数字/整数值而不是文本为单元格着色。
任何帮助都会很棒。
解决方案
这段代码应该可以帮助您。您可以为不同的单词组合添加额外的 Case 语句并调整 RGB 值:
Dim objTable As Table
Dim iRowCounter As Integer
Dim iColumnCounter As Integer
Dim lngVeryGoodColor As Long
Dim lngGoodColor As Long
' Predefine colors
lngVeryGoodColor = RGB(112, 173, 71)
lngGoodColor = RGB(169, 208, 142)
' Loop through all tables in document
For Each objTable In ThisDocument.Tables
For iRowCounter = 1 To objTable.Rows.Count
For iColumnCounter = 1 To objTable.Columns.Count
' Get Table cell
With objTable.Cell(iRowCounter, iColumnCounter)
If InStr(.Range.Text, "Good") > 0 Then .Shading.BackgroundPatternColor = lngGoodColor
If InStr(.Range.Text, "Moderate") > 0 Then .Shading.BackgroundPatternColor = lngGoodColor
If InStr(.Range.Text, "Very good") > 0 Then .Shading.BackgroundPatternColor = lngVeryGoodColor
If InStr(.Range.Text, "Minor") > 0 Then .Shading.BackgroundPatternColor = lngGoodColor
End With
Next
Next
Next
推荐阅读
- scala - Spark 增强 TB 级数据集之间的连接
- php - 如何使用 typeahead bootstrap 和 sql 实现自动完成?
- sed - 如果前面没有另一个模式,则替换第一次出现的模式
- javascript - nestjs multer在multer存储后获取新文件名列表
- ruby-on-rails - 为什么在我的 Rails 应用程序中尝试连接到外部 API 时会收到 401?
- maven - Junit 单独运行良好,但在 maven 构建期间失败,给出 sun.security.provider.certpath.SunCertPathBuilderException
- python - 如何在包含 html 元素的列表中获取链接?
- typescript - 如何将 mongoose.model(xxx, xxx) 导出为 TypeScript 类
- flutter - 将flutter web和桌面添加到android studio中现有的flutter(android/ios)项目
- javascript - 如何让玩家在 Phaser 2 (CE) 中不与平台和某些条件发生碰撞