求教:word下如何按条件设定字体颜色
时间:2005-01-19
来源:互联网
大侠:我在用邮件合并方式输出成绩单时,没办法将不及格的成绩设定为红色,能帮帮我吗?多谢啦 rkzQbqiK.rar (17.35 KB)
文件已上传,请版主查阅
[此贴子已经被作者于2005-1-20 11:48:26编辑过]
作者: mascql 发布时间: 2005-01-19
作者: cxffxc 发布时间: 2005-01-20
作者: mascql 发布时间: 2005-01-20
作者: 守柔 发布时间: 2005-01-20
作者: cysan 发布时间: 2005-01-20
作者: 守柔 发布时间: 2005-01-20
请参:
代码已经设置完毕,你只需确认数据源即可,我此处修改了一下,为“成绩表1”,
注意事项:一:必须启用宏,工具/宏/安全级:低。
二:如果数据源出现问题,可关闭该主文档后再次打开(重新初始化类模块)
ujXRkovo.zip (23.86 KB)
以下代码供参考:
'* +++++++++++++++++++++++++++++'* Created By I Love You_Word!@ExcelHome 2005-1-22 10:34:16'仅测试于System: Windows NT Word: 10.0 Language: 2052'^The Code CopyIn [类模块-EventClassModule]^''* -----------------------------
Public WithEvents App As Word.Application'在类模块中声明对应于事件的对象变量。'编写指定事件的过程。Private Sub App_MailMergeBeforeRecordMerge(ByVal Doc As Document, Cancel As Boolean)Dim i As Byte'如果主文档数据源中的字段1中的数据小于60(分)时For i = 5 To 25If Doc.MailMerge.DataSource.DataFields(i).Value < 60 Then'主文档表格的第二行第二列(相当于B2)中的字体为红色Select Case iCase 5 To 9Doc.Tables(2).Cell(2, i - 3).Range.Font.Color = wdColorRedCase 10 To 11Doc.Tables(2).Cell(2, i - 1).Range.Font.Color = wdColorRedCase 12 To 16Doc.Tables(2).Cell(3, i - 10).Range.Font.Color = wdColorRedCase 17 To 18Doc.Tables(2).Cell(3, i - 8).Range.Font.Color = wdColorRedCase 19 To 23Doc.Tables(2).Cell(4, i - 17).Range.Font.Color = wdColorRedCase 24 To 25Doc.Tables(2).Cell(4, i - 15).Range.Font.Color = wdColorRedEnd SelectElse '否则恢复默认字体颜色Select Case iCase 5 To 9Doc.Tables(2).Cell(2, i - 3).Range.Font.Color = wdColorAutomaticCase 10 To 11Doc.Tables(2).Cell(2, i - 1).Range.Font.Color = wdColorAutomaticCase 12 To 16Doc.Tables(2).Cell(3, i - 10).Range.Font.Color = wdColorAutomaticCase 17 To 18Doc.Tables(2).Cell(3, i - 8).Range.Font.Color = wdColorAutomaticCase 19 To 23Doc.Tables(2).Cell(4, i - 17).Range.Font.Color = wdColorAutomaticCase 24 To 25Doc.Tables(2).Cell(4, i - 15).Range.Font.Color = wdColorAutomaticEnd SelectEnd IfNextEnd Sub'----------------------
'* +++++++++++++++++++++++++++++'* Created By I Love You_Word!@ExcelHome 2005-1-22 10:34:36'仅测试于System: Windows NT Word: 10.0 Language: 2052'^The Code CopyIn [ThisDocument-ThisDocument]^''* -----------------------------
Dim X As New EventClassModule'从其他模块中初始化已声明的对象。Private Sub Document_Open()Set X.App = Word.ApplicationEnd Sub'----------------------
作者: 守柔 发布时间: 2005-01-22
文件已收到,谢谢版主,但字体颜色没有改变,不知为何
作者: mascql 发布时间: 2005-01-22
你的宏安全性设为低了吗?
我重新试了一下,这是我的电脑上运行的结果,我的合并数量是1~26,你可以检查一下是否正确,应该没有问题。
如果你不熟悉操作,可以将数据源传上来,重要的话,你可以发到我的邮箱([email protected])中,我帮你忙成。

[此贴子已经被作者于2005-1-22 15:55:05编辑过]
作者: 守柔 发布时间: 2005-01-22
宏安全已经设置为低
但主文档仍然不能实现红色显示
看到合并的1-26数据,我将文件合并到新文件,一切OK了
感谢手柔版主
[em05][em05]作者: mascql 发布时间: 2005-01-23
哈,理解上有些问题,也怪我没有说得太清楚。
此事件发生在合并文档之前。所以,必须在合并文档过程中,才会自动执行。通过代码,自动根据条件设置将主文档字体改变后,则子文档中字体跟着改变。
有兴趣还可以看一下我的《邮件合并的一些高级应用》一文,也许对你的工作有所启发。http://club.excelhome.net/viewthread.php?tid=79814
作者: 守柔 发布时间: 2005-01-23
非常感谢守柔如此热心的指导与帮助
由于工作的需要,我经常要用到WORD和EXCEL
对于宏我以前一直不懂,现在还是似懂非懂(有点笨了)
以后还请班主多指教,在下感激不尽
作者: mascql 发布时间: 2005-01-23
{if {分數}<60 {分數} {分數}}
[ 本帖最后由 linyancheng 于 2010-3-7 21:32 编辑 ]
作者: linyancheng 发布时间: 2010-03-07
作者: wj2368 发布时间: 2010-05-19
作者: 片羽吉光 发布时间: 2011-04-02
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28