-1

抱歉,标题可能难以理解,但我不知道如何更好地写这个。

我有 Excel VBA 代码,可以将工作表从 Excel 转换为在 Word 中打印的版本。问题是,当 Excel 中一行中的特定单元格为红色或等于“ENG_AT”文本时,我需要为将要打印的单元格内容着色。

在这里你得到了原始的工作代码示例。

ElseIf Not IsEmpty(calArray(i, 3)) And IsEmpty(calArray(i, 2))  Then
    'item
    styleName = "N1"
    headerText=calArray(i, 12)
    .Rows(t).Borders(-3).LineStyle = 7

calArray(i,12)是要打印的单元格。

这是我试图添加我的声明的部分

ElseIf Not IsEmpty(calArray(i, 3)) And IsEmpty(calArray(i, 2)) And calArray(i, 16) = "ENG_AT" Then
    'item
    styleName = "N1"
    Dim Text2 As String
    Text2 = UCase(calArray(i, 12)
    Text2.Interior.Color = RGB(0, 0, 250)

    headerText = Text2
    '.Font.Underline = True
    .Rows(t).Borders(-3).LineStyle = 7

我所做的只是将一个字母大写,其余的不起作用。如果有人可以向我解释如何更改 Word 表格中目标单元格的颜色或仅在此文本下划线,我将非常高兴。

提前感谢您的帮助。

4

1 回答 1

0

不知道您在解决方案中使用的特定变量,以下只是为 Word 表格单元格中的文本分配颜色的通用方法。

    ActiveDocument.Tables(1).rows(1).Cells(3).Range.Font.ColorIndex = wdRed
于 2018-07-30T13:35:16.470 回答