首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActiveDocument.Tables(k).Range.Cells(j).Shading.BackgroundPatternColor返回-1

ActiveDocument.Tables(k).Range.Cells(j).Shading.BackgroundPatternColor返回-1
EN

Stack Overflow用户
提问于 2011-10-27 08:50:55
回答 1查看 3.7K关注 0票数 0

我有个词2007医生有很多桌子。每个表都有特定的单元格,其中填充了2种自定义颜色。我创建了一个宏,它需要输入3个值来输入RGB函数,创建其中一个颜色,将其与每种颜色进行匹配,并使用新的颜色更改匹配。

我使用了一个If语句,它将填充的单元格的颜色与RGB函数返回的颜色进行比较,用用户提供的输入来输入函数。

代码语言:javascript
复制
If ActiveDocument.Tables(k).Range.Cells(j).Shading.BackgroundPatternColor = RGB(inputRed, inputGreen, inputBlue) Then
       'code
end if

当我浏览文档以查看结果时,我注意到3个表中的几个单元格保留了旧颜色,因此宏显然无法识别它。

在Word 2007中,我选择了应该更改其颜色的单元格。我去了家庭,->,阴影,->,更多的颜色,->自定义,并看到了3个值,完全匹配作为用户输入的3个值。

盯着显示器30分钟后,我想去看医生检查我的眼睛。:)

在此之前,我开始调试这个应用程序。在每个未被更改的单元格上。在检查这一行时:

ActiveDocument.Tables(k).Range.Cells(j).Shading.BackgroundPatternColor

我看到它返回了-1

我认为-1等于空或零,这意味着两个单元格都没有被填充,但如果是,为什么我可以看到RGB值?或者系统不能读取RGB值,但是这个系统到底是谁呢?

您有Shading.BackgroundPatternColor方法解释得很好的链接吗?

EN

回答 1

Stack Overflow用户

发布于 2011-10-29 17:42:00

我不知道值为-1,但Word 2007中的颜色略有变化,因此这些值不再一定是RGB值。我已经在这方面写了很多文章,请参阅http://www.wordarticles.com/Articles/Colours/2007.php

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7913615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档