当前位置: 首页 > 知识库问答 >
问题:

根据单元格内容更改字表单元格背景颜色。

应俊爽
2023-03-14

共有1个答案

琴献
2023-03-14

假设您使用的是formfields(不能对FILLIN字段使用保护),您可以使用如下代码:

Option Explicit
Dim i As Long

Sub Index()
  i = Replace(Selection.FormFields(1).Range.Bookmarks(1).Name, "DropDown", "")
End Sub

Sub ColorDropDown()
Dim sText As String, oFld As FormField
With ActiveDocument
  Set oFld = .FormFields("Dropdown" & i)
  sText = oFld.Result
  If .ProtectionType <> wdNoProtection Then .Unprotect Password:=""
  With oFld.Range
    Select Case sText
      Case Is = "G" 'green
        .Shading.BackgroundPatternColor = wdColorBrightGreen
      Case Is = "Y" 'yellow
        .Shading.BackgroundPatternColor = wdColorYellow
      Case Is = "R"  'red
        .Shading.BackgroundPatternColor = wdColorRed
    End Select
  End With
  .Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=""
End With
End Sub

每个下拉菜单调用Index宏作为“On-Entry”属性,调用ColorDropDown宏作为“On-Exit”属性。如果文档中的第一个formfield是下拉菜单,则还需要:

Private Sub Document_Open()
ActiveDocument.Bookmarks("DropDown1").Range.Select
Call Index
End Sub

在'ThisDocument'代码模块中。有关演示,请参见:http://www.msofficeforums.com/word-vba/16505-change-color-dategy-dropdown-selection.html#post47254

 类似资料:
  • 问题内容: 我的站点读取一个XML文件,该文件包含数据表的信息(值)。我使用CSS设置表格样式,并且一切正常。 为了获得更好的用户体验,我想知道是否有可能根据其值动态更改每个单元格的背景颜色? 例如: 每个包含小于5的数字的单元格都有红色背景色; 每个大于等于“ 5”的单元格具有绿色背景色。 我对此的第一个解决方案是使用Javascript-但我想知道是否有办法仅使用CSS样式来解决此问题? 问题

  • 我必须说我在这方面绝对是个新手。我正在编写一个带有表格的小xslt演示文件,我想根据内容更改单元格或行的背景色(两者都可以,但我更喜欢只更改单元格背景)。 示例:RATING="GOOD""MEDIUM""BAD";根据它的值,我希望背景是绿色、黄色或红色。 我当前的表格代码: 提前感谢您 --编辑——我的问题已由@Yaakov Ainspan回答,并由@Ruud解决,他为我提供了我所缺少的代码。

  • 有人知道如何更改ZK网格中单元格的背景色吗?在网上搜索了几个小时,找不到太多。静态单元格不是问题,但这是动态渲染的网格。 计划是将某些细胞涂成红色或黄色,因为我想突出显示特定的值。 我的Zul: 我的虚拟机:

  • 我想改变JTable的单元格背景颜色,想从MySQL数据库中获取数据。 我在MySQL中使用一个数据表,它有一个状态字段。如果状态为1,则单元格背景颜色应为红色;如果状态为0,则应更改为红色。

  • 这听起来可能有点奇怪,但解释我的问题的最好方法就是如标题所述。 我有一个JTable,它使用自定义Tablemodel,在这个Tablemodel我有不同的方法。 我需要一种方法,当我在Tablemodel中调用一个特定的方法时,转到它被添加到的表,并更改位置(X,Y)单元格的背景颜色。 我可以从Tablemodel访问JTable对象。 为了澄清这个问题,有一个使用特定Tablemodel的JT

  • 我如何在Vaadin 8或更高版本中绘制网格单元。由于Vaadin 8不再支持grid.setCellStyleGenerator,我不知道还能做什么。有什么建议吗?