У меня есть таблица в MS Word, состоящая из элементов раскрывающегося списка, а также столбцов, которые отображают и выводят значения в зависимости от комбинации выбранных элементов раскрывающегося списка.Я пытаюсь заполнить ячейки результатов цветами в зависимости от их содержимого.Например.что-нибудь, начинающееся с> = 70, будет окрашено в красный цвет.
Как бы я поступил так?
Я знаю, что это должно быть сделано в Excel, но я должен работать с тем, что у меня естьК сожалению.
Я попытался использовать макрос и изменил мои цвета, однако мой существующий код VB (указанный ниже затем перестал работать).
Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
Dim CField As String, LField As String, RField As String, CText As String, LText As String, CRate As Double, LRate As Double, RRate As Double, RCat As String, RCatField As String
Select Case CC.Title
Case "C1", "L1"
CField = "C1"
LField = "L1"
RField = "R1"
RCatField = "RR1"
Case "C2", "L2"
CField = "C2"
LField = "L2"
RField = "R2"
RCatField = "RR2"
Case Else
Exit Sub
End Select
CText = Left(ActiveDocument.SelectContentControlsByTitle(CField).Item(1).Range.Text, 1)
LText = Left(ActiveDocument.SelectContentControlsByTitle(LField).Item(1).Range.Text, 1)
If Not IsNumeric(CText) Then
With ActiveDocument.SelectContentControlsByTitle(RField)(1)
.LockContents = False
.Range.Text = ""
.LockContents = True
End With
With ActiveDocument.SelectContentControlsByTitle(RCatField)(1)
.LockContents = False
.Range.Text = ""
.LockContents = True
End With
End If
If Not IsNumeric(LText) Then
Exit Sub
End If
LRate = LText
CRate = CText
RRate = ((CRate * 3) + (LRate * 2)) * 4
Select Case RRate
Case Is < 41
RCat = "Low"
Case Is < 55
RCat = "Moderate"
Case Is < 70
RCat = "High"
Case Is >= 70
RCat = "Catastrophic"
End Select
With ActiveDocument.SelectContentControlsByTitle(RField)(1)
.LockContents = False
.Range.Text = RRate
.LockContents = True
End With
With ActiveDocument.SelectContentControlsByTitle(RCatField)(1)
.LockContents = False
.Range.Text = RCat
.LockContents = True
End With
End Sub