function ColorFormat()
{
var app = Application;
//获取当前活动的工作簿(workbook)和工作表(worksheet)
var workbook = app.ActiveWorkbook;
var worksheet = workbook.ActiveSheet;
var colorBlue = 0xc07000; // RGB(0, 112, 192) in WPS JS API
var colorRed = 0x0000ff; // RGB(0, 112, 192) in WPS JS API
/*
正则表达式由正则表达式字面量和元字符组成。在这个例子中,正则表达式字面量是进展:,元字符包括( ) * \ .
( ):这是正则表达式中的分组符号,将后面的正则表达式作为一个整体进行处理。
*:这是正则表达式中的量词符号,表示前面的字符可以出现0次或多次。在这个例子中,*表示前面的(.*?)可以匹配0个或多个任意字符,直到遇到后面的\ .
?: 匹配前面一个表达式 0 次或者 1 次。
.: (小数点)默认匹配除换行符之外的任何单个字符。
\:这是转义符号,用来转义后面的字符。在这个例子中,\后面的.表示匹配任意字符(除了换行符)。
\.:这是匹配实体的.字符。在正则表达式中,.是一个特殊字符,用来匹配任意字符(除了换行符),而\.则用来匹配.字符本身。
*/
var regex1 = /进展:(.*?)\。/g;
var regex2 = /delay原因:(.*?)\。/g;
var regex3 = /任务类型:(.*?)\。/g;
var regex4 = /风险及应对:(.*?)\。/g;
var match1;
// 获取当前选择的单元格范围
var range = Selection;
// 如果选择的范围不为空,则遍历每个单元格并修改颜色
if (range.Cells.Count > 0)
{
//进展
for (var i = 1; i <= range.Cells.Count; i++)
{
var cell = range.Cells(i);
var content = cell.Value2;
// 使用正则表达式查找第一个匹配项并更改颜色为蓝色
//exec 方法是一个正则表达式对象的方法,它用于在给定的字符串中执行正则表达式匹配。它会返回一个匹配对象,其中包含了与正则表达式匹配的结果信息,如匹配的子串、匹配的起始位置和结束位置等。
//进展:
while ((match1 = regex1.exec(content)) !== null)
{
cell.Characters(match1.index, match1[0].length + 1).Font.Color = colorBlue;
}
//delay原因:
while ((match1 = regex2.exec(content)) !== null)
{
cell.Characters(match1.index, match1[0].length + 1).Font.Color = colorRed;
}
//任务类型:
while ((match1 = regex3.exec(content)) !== null)
{
cell.Characters(match1.index, match1[0].length + 1).Font.Color = colorBlue;
}
//风险及应对:
while ((match1 = regex4.exec(content)) !== null)
{
if (match1[0].length > 8)
cell.Characters(match1.index, match1[0].length + 1).Font.Color = colorRed;
else
cell.Characters(match1.index, match1[0].length + 1).Font.Color = colorBlue;
}
}
MsgBox('牛X啊!!已经完成格式转换!!');
}
else
{
MsgBox ('请先选择要操作的单元格范围。');
}
}
WPS JS 改变单元格内特定字符串的颜色
于 2023-11-07 15:27:00 首次发布