WPS表格 JSA-单格内,按文字颜色处理文字

Posted 笑虾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPS表格 JSA-单格内,按文字颜色处理文字相关的知识,希望对你有一定的参考价值。

WPS表格 JSA-单格内,按文字颜色处理文字

按颜色删除单元格内指定文字

function removeCharByColor(查找颜色索引 = 2, 结果字号 = 9, 结果颜色 = 0) 
	// 修改时不需要刷屏
	Application.ScreenUpdating = false; // 关闭屏幕重绘
	Application.EnableAnimations = false; // 此对象、成员或枚举已被弃用并且不适合在您的代码中使用。
	Application.EnableEvents = false; // 禁用事件
	Application.Calculation = xlCalculationManual // 手动重算
	var rangeAll = Selection;
	var rangeArr = [...rangeAll];

	rangeArr.forEach(rng => 
		var c = rng.Characters();
		var len = rng.Characters().Count;
		var tempStr = [];
		for (var i = 1; i <= len; i++) 
			var char = rng.Characters(i, 1);
			if (char.Font.ColorIndex != 查找颜色索引) 
				tempStr.push(char.Text);
			
			DoEvents(); // 喘口气,别卡死
		
		rng.Value2 = tempStr.join('');
	);

	(obj => 
		obj.Size = 结果字号;
		obj.Color = 结果颜色;
	)(rangeAll.Font);

	Application.ScreenUpdating = true; // 开启屏幕重绘
	Application.EnableAnimations = true; // 此对象、成员或枚举已被弃用并且不适合在您的代码中使用。
	Application.EnableEvents = true; // 开启事件
	Application.Calculation = xlCalculationAutomatic // 自动重算
	alert("完成!");


function 按颜色删除单元格内指定文字()
	removeCharByColor(2,9,0);

辅助方法

function 查看每个文字样式()
	var rng = Selection;
    var len = rng.Characters().Count;
	for(var i=1; i <= len; i++) 
      var char = rng.Characters(i,1);
      Console.log(`【内容】:$char.Text; 【字号】:$char.Font.Size; 【Color】$char.Font.Color; 【ColorIndex】:$char.Font.ColorIndex`);
    

参考资料

Excel VBA-单格内,按文字颜色处理文字

以上是关于WPS表格 JSA-单格内,按文字颜色处理文字的主要内容,如果未能解决你的问题,请参考以下文章

WPS表格 JSA 学习笔记

Excel 单格内,按文字颜色处理文字

Excel VBA-单格内,按文字颜色处理文字

WPS文字 JSA 实例收集

WPS文字 JSA 学习笔记 - 转PDF后要带自定义目录

WPS文字 JSA 学习笔记 - 转PDF后要带自定义目录