WPS JSA 宏脚本入门和样例

news2024/11/27 2:22:09

1入门

WPS window版本才支持JSA宏的功能。 可以自动化的操作文档中的一些内容。

参考文档:

WPS API 参考文档:https://open.wps.cn/previous/docs/client/wpsLoad

微软的Word API文档:Microsoft.Office.Interop.Word 命名空间 | Microsoft Learn

有问题,基本查看上面的两个文档,再加上百度搜索,就差不多了。

2 样例

function 选择所有图片()
{
	var arr = [...ActiveDocument.InlineShapes];
	// 关闭屏幕更新,提升执行效率
	Application.ScreenUpdating = false;
	ActiveDocument.DeleteAllEditableRanges(wdEditorEveryone);
	arr.forEach(shape=>{
		shape.Range.Editors.Add(wdEditorEveryone);
	});
	ActiveDocument.SelectAllEditableRanges(wdEditorEveryone);
    ActiveDocument.DeleteAllEditableRanges(wdEditorEveryone);
	// 开启屏幕更新
    Application.ScreenUpdating = true;	
    Console.log('批量设置【图片】完成。');
     MsgBox("选择完毕!");
}

function 选择所有表格()
{
	var countT =0;
	var i = 0;	
	countT = ActiveDocument.Tables.Count;//计算文档中一共包含的表格数量。
	Application.ScreenUpdating = 0;
	ActiveDocument.DeleteAllEditableRanges(wdEditorEveryone);
	for(i=1;i<=countT;i++)
	{
		ActiveDocument.Tables.Item(i).Range.Editors.Add(wdEditorEveryone);
	}
	ActiveDocument.SelectAllEditableRanges(wdEditorEveryone);
	ActiveDocument.DeleteAllEditableRanges(wdEditorEveryone);
	Application.ScreenUpdating = 1;
	MsgBox("表格完成批量调整,共计"+countT+"个!");
}


function 选中有底纹表的Cell(){
Application.ScreenUpdating = 0;
ActiveDocument.DeleteAllEditableRanges(wdEditorEveryone);
	var countT =0;
	var i = 0;	
	countT = ActiveDocument.Tables.Count;//计算文档中一共包含的表格数量。
	console.log("处理到表格=" + 0 + ", 总共" + countT);
	for(i=1;i<=countT;i++)
	{
		var tableObj = ActiveDocument.Tables.Item(i);
		var rowNum = tableObj.Rows.Count;
		var colNum = tableObj.Columns.Count;
//		console.log("aaa" + rowNum + " " + colNum);
		for(var j=1;j<=rowNum;j++){
			for(var k=1; k<= colNum; k++){
				try {
					var cell = tableObj.Cell(j,k);
					if(cell){
						console.log(cell.Shading.Texture);
						if(cell.Shading.BackgroundPatternColor != -16777216 || cell.Shading.Texture != 0){
							cell.Range.Editors.Add(wdEditorEveryone);
						}
					}
				} catch(e) {
//					console.log("bbb");
				}
			}
		}
		if(i%2000 == 0){
			console.log("处理到表格=" + i + ", 总共" + countT);
		}
	}
	ActiveDocument.SelectAllEditableRanges(wdEditorEveryone);
	ActiveDocument.DeleteAllEditableRanges(wdEditorEveryone);
	Application.ScreenUpdating = 1;
	MsgBox("选择完毕!");
}

/**
 * 修改标题和正文样式
 */
function 修改标题和正文样式_标题1到标题5和正文(){
	var countT = 0;
	var paragraphT = 0;
	var totalT = ActiveDocument.Paragraphs.Count;
	// 循环获取段落信息
	for(var i = 1; i <= totalT; i++){
		paragraphT ++;
		// 获取每个段落范围的内容
		var paragraphObj = ActiveDocument.Paragraphs.Item(i);
		//   获取范围样式
		var styleName = paragraphObj.Range.Style;
		// 如果样式返回结果为空,则继续循环下一个
		if(!styleName) continue;
        
        styleName = styleName.toString();
        console.log(styleName);
		// 过滤出标题段落
		switch(styleName){
			case '标题 1': 
				countT++;
				editStyle1(paragraphObj);
				break;
			case '标题 2': 
				countT++;
				editStyle2(paragraphObj);
				break;
			case '标题 3': 
				countT++;
				editStyle3(paragraphObj);
				break;
			case '标题 4': 
				countT++;
				editStyle4(paragraphObj);
				break;
			case '标题 5': 
				countT++;
				editStyle5(paragraphObj);
				break;
			case '标题 6': 
				countT++;
				editStyle5(paragraphObj);
				break;
			case '标题 7': 
				countT++;
				editStyle5(paragraphObj);
				break;
			case '标题 8': 
				countT++;
				editStyle5(paragraphObj);
				break;
			case '标题 9': 
				countT++;
				editStyle5(paragraphObj);
				break;
			case '正文': 
			    countT++;
				editStyle(paragraphObj);
				break;
			case '文档正文': 
			    countT++;
				editStyle(paragraphObj);
				break;
			case '正文': 
			    countT++;
				editStyle(paragraphObj);
				break;
			case '标书正文': 
			    countT++;
				editStyle(paragraphObj);
				break;
			case '正文缩进': 
			    countT++;
				editStyle(paragraphObj);
				break;
		}
		if(paragraphT%5000 == 0){
			console.log("处理进度," + paragraphT + "个, 总共:"+ totalT)
		}
	}
	MsgBox("正文修改完毕!"+countT+"个!被修改了");
}

/**
 * 标题1 格式
 */
function editStyle1(paragraphObj){
//	console.log('标题1-' + paragraphObj.Range);
	// 设置字段样式 字体:小二宋体加粗;
	(font => {
		font.Blod = true;
		font.Size = 18;
		font.Name = "宋体";
		font.NameAscii = 'Times New Roman';
	})(paragraphObj.Range.Font);
	
	//设置标题段落的缩进
	setBiaotiSJ(paragraphObj);
	
	/*间距:段前段后:6磅;行距:1.5倍。*/
	(obj=>{
	/*本示例将活动文档中所有段落的段前间距设置为 6 磅。*/
	obj.SpaceBefore = 6;
	/*本示例将活动文档中所有段落的段后间距设置为 6 磅。*/
	obj.SpaceAfter = 6;
	/*为指定段落设置 1.5 倍行距。*/
	obj.LineSpacingRule = wdLineSpace1pt5;

	})(paragraphObj.Range.ParagraphFormat);
}

/**
 * 标题2 格式
 */
function editStyle2(paragraphObj){
	console.log('111' + paragraphObj.Range);
	paragraphObj.Range.Select();
	// 三号宋体加粗;
	(font => {
		font.Blod = true;
		font.Size = 16;
		font.Name = "宋体";
		font.NameAscii = 'Times New Roman';
	})(paragraphObj.Range.Font);
	
	/*段落的对齐方式 对齐方式:左对齐;*/
	paragraphObj.Alignment = wdAlignParagraphLeft;
	
	/*大纲级别:2级;*/
	paragraphObj.OutlineLevel = wdOutlineLevel2;
	
	//设置标题段落的缩进
	setBiaotiSJ(paragraphObj);
	
	
//	paragraphObj.CharacterUnitFirstLineIndent = 0;
//	paragraphObj.IndentCharWidth(0);
	
	/*间距:段前段后:6磅;行距:1.5倍。*/
	(obj=>{
	/*本示例将活动文档中所有段落的段前间距设置为 6 磅。*/
	obj.SpaceBefore = 6;
	/*本示例将活动文档中所有段落的段后间距设置为 6 磅。*/
	obj.SpaceAfter = 6;
	/*为指定段落设置 1.5 倍行距。*/
	obj.LineSpacingRule = wdLineSpace1pt5;

	})(paragraphObj.Range.ParagraphFormat);
}

/**
* 设置标题段落的缩进
*/
function setBiaotiSJ(paragraphObj){
	/*左侧、右侧:0字符;特殊格式:首行缩进,2字符*/
	/* 该属性返回或设置指定段落的左缩进量(以字符为单位) */
	
	
	if(paragraphObj.LeftIndent != 0){
		paragraphObj.LeftIndent = 0;
	}
	if(paragraphObj.CharacterUnitLeftIndent != 0){
		paragraphObj.CharacterUnitLeftIndent = 0
	}
//	
	/* 该属性返回或设置指定段落的右缩进量(以字符为单位) */
	if(paragraphObj.RightIndent != 0){
		paragraphObj.RightIndent = 0;
	}
	if(paragraphObj.CharacterUnitRightIndent != 0){
		paragraphObj.CharacterUnitRightIndent = 0
	}

	/*设置首行缩进*/
	if(paragraphObj.FirstLineIndent != 0){
		paragraphObj.FirstLineIndent = 0;
	}
	if(paragraphObj.CharacterUnitFirstLineIndent != 0){
		paragraphObj.CharacterUnitFirstLineIndent = 0;
	}
	
	if(paragraphObj.LeftIndent != 0){
		paragraphObj.LeftIndent = 0;
	}
	if(paragraphObj.CharacterUnitLeftIndent != 0){
		paragraphObj.CharacterUnitLeftIndent = 0
	}
//	
	/* 该属性返回或设置指定段落的右缩进量(以字符为单位) */
	if(paragraphObj.RightIndent != 0){
		paragraphObj.RightIndent = 0;
	}
	if(paragraphObj.CharacterUnitRightIndent != 0){
		paragraphObj.CharacterUnitRightIndent = 0
	}

	/*设置首行缩进*/
	if(paragraphObj.FirstLineIndent != 0){
		paragraphObj.FirstLineIndent = 0;
	}
	if(paragraphObj.CharacterUnitFirstLineIndent != 0){
		paragraphObj.CharacterUnitFirstLineIndent = 0;
	}
}

/**
 * 标题3 格式
 */
function editStyle3(paragraphObj){
	// console.log('111' + paragraphObj.Range);
	// 小三宋体加粗;
	(font => {
		font.Blod = true;
		font.Size = 15;
		font.Name = "宋体";
		font.NameAscii = 'Times New Roman';
	})(paragraphObj.Range.Font);
	
	/*段落的对齐方式 对齐方式:左对齐;*/
	paragraphObj.Alignment = wdAlignParagraphLeft;
	
	/*大纲级别:3级;*/
	paragraphObj.OutlineLevel = wdOutlineLevel3;
	
		
	//设置标题段落的缩进
	setBiaotiSJ(paragraphObj);
	
	/*间距:段前段后:6磅;行距:1.5倍。*/
	(obj=>{
	/*本示例将活动文档中所有段落的段前间距设置为 6 磅。*/
	obj.SpaceBefore = 6;
	/*本示例将活动文档中所有段落的段后间距设置为 6 磅。*/
	obj.SpaceAfter = 6;
	/*为指定段落设置 1.5 倍行距。*/
	obj.LineSpacingRule = wdLineSpace1pt5;

	})(paragraphObj.Range.ParagraphFormat);
}

/**
 * 标题4 格式
 */
function editStyle4(paragraphObj){
	// console.log('111' + paragraphObj.Range);
	// 四号宋体加粗;
	(font => {
		font.Blod = true;
		font.Size = 14;
		font.Name = "宋体";
		font.NameAscii = 'Times New Roman';
	})(paragraphObj.Range.Font);
	
	/*段落的对齐方式 对齐方式:左对齐;*/
	paragraphObj.Alignment = wdAlignParagraphLeft;
	
	/*大纲级别:4级;*/
	paragraphObj.OutlineLevel = wdOutlineLevel4;
	
	
	//设置标题段落的缩进
	setBiaotiSJ(paragraphObj);
	
	/*间距:段前段后:6磅;行距:1.5倍。*/
	(obj=>{
	/*本示例将活动文档中所有段落的段前间距设置为 6 磅。*/
	obj.SpaceBefore = 6;
	/*本示例将活动文档中所有段落的段后间距设置为 6 磅。*/
	obj.SpaceAfter = 6;
	/*为指定段落设置 1.5 倍行距。*/
	obj.LineSpacingRule = wdLineSpace1pt5;

	})(paragraphObj.Range.ParagraphFormat);
}

/**
 * 标题5 格式
 */
function editStyle5(paragraphObj){
	// console.log('111' + paragraphObj.Range);
	// 小四宋体加粗;
	(font => {
		font.Blod = true;
		font.Size = 12;
		font.Name = "宋体";
		font.NameAscii = 'Times New Roman';
	})(paragraphObj.Range.Font);
	
	/*段落的对齐方式 对齐方式:左对齐;*/
	paragraphObj.Alignment = wdAlignParagraphLeft;
	
	/*大纲级别:5级;注释掉, 5、6、7、8、9 公用这个函数*/
	// paragraphObj.OutlineLevel = wdOutlineLevel5;
	
		
	//设置标题段落的缩进
	setBiaotiSJ(paragraphObj);
	
	/*间距:段前段后:6磅;行距:1.5倍。*/
	(obj=>{
	/*本示例将活动文档中所有段落的段前间距设置为 6 磅。*/
	obj.SpaceBefore = 6;
	/*本示例将活动文档中所有段落的段后间距设置为 6 磅。*/
	obj.SpaceAfter = 6;
	/*为指定段落设置 1.5 倍行距。*/
	obj.LineSpacingRule = wdLineSpace1pt5;

	})(paragraphObj.Range.ParagraphFormat);
}


/**
 * 修改样式
 */
function editStyle(paragraphObj){
		// console.log('333' + paragraphObj.Range);
// 中文:宋体 小四号, 西文:Times New Roman 小四号
	(font => {
//		font.Blod = false;
		font.Size = 12;
		font.Name = "宋体";
		font.NameAscii = 'Times New Roman';
	})(paragraphObj.Range.Font);
	
	/*段落的对齐方式 对齐方式:左对齐;*/
	paragraphObj.Alignment = wdAlignParagraphLeft;
		/*大纲级别:正文*/
	paragraphObj.OutlineLevel = wdOutlineLevelBodyText;
	
	/*左侧、右侧:0字符;特殊格式:首行缩进,2字符*/
	/* 该属性返回或设置指定段落的左缩进量(以字符为单位) */
	paragraphObj.LeftIndent = 0;
	/* 该属性返回或设置指定段落的右缩进量(以字符为单位) */
	paragraphObj.RightIndent = 0;
	/*设置首行缩进*/
	paragraphObj.CharacterUnitFirstLineIndent  = 2;
	
	/*段前段后:0行;行距:1.5倍;*/
	(obj=>{
	/*本示例将活动文档中所有段落的段前间距设置为 6 磅。*/
	obj.SpaceBefore = 0;
	/*本示例将活动文档中所有段落的段后间距设置为 6 磅。*/
	obj.SpaceAfter = 0;
	/*为指定段落设置 1.5 倍行距。*/
	obj.LineSpacingRule = wdLineSpace1pt5;

	})(paragraphObj.Range.ParagraphFormat);
}

function 所有表格上面添加表标题(){

    var countT =0;
    var i = 0;	
    countT = ActiveDocument.Tables.Count;//计算文档中一共包含的表格数量。
    console.log("处理到表格=" + 0 + ", 总共" + countT);
    var firstEmpty = false;
    for(i=1;i<=countT;i++)
    {
    	
        var tableObj = ActiveDocument.Tables.Item(i);
//		tableObj.Range.InsertParagraphBefore()
//	tableObj.Range.InsertBefore("Introduction")
    
    var rangeObj = tableObj.Range;
    var beforeRangeObj = rangeObj.Previous(wdParagraph, 1);
    if (!beforeRangeObj) {
    	firstEmpty = true;
    	//beforeRangeObj = Application.ActiveDocument.Paragraphs.Add(ActiveDocument.Paragraphs.Item(1).Range).Range
    	 beforeRangeObj = Application.ActiveDocument.Range(0, 0)
    	 beforeRangeObj.InsertParagraph()
    }
    
    var paA = beforeRangeObj.Paragraphs.Item(1);
    	console.log("000-" + paA.Alignment + "-" +wdAlignParagraphCenter) ;
    	console.log(paA.Range.Text.length);
    	console.log("222=" + paA.Range.Text);
    	paA.Range.Select();
    
    //如果上段有居中,且长度大于2 就表名不处理
    if(paA.Alignment == wdAlignParagraphCenter && paA.Range.Text.length > 2){
    	console.log("44444");
    } else {
    	
    	console.log("33333");
//    	    beforeRangeObj.Select();
		//	 rangeObj.Collapse(wdCollapseStart)
		//        beforeRangeObj.InsertParagraphAfter()
		    beforeRangeObj.Collapse(wdCollapseEnd)
		    //网上移动一个字符的位置
		    beforeRangeObj.MoveEnd(wdCharacter, -1);
		//        beforeRangeObj.InsertParagraphAfter()
			if(firstEmpty){
				firstEmpty = false;
			} else {
				beforeRangeObj.InsertParagraph()
			}
			
		    beforeRangeObj.InsertAfter("表 xxx");
    }
    

    var lastParagraph = beforeRangeObj.Paragraphs.Item(beforeRangeObj.Paragraphs.Count);
//    lastParagraph.Range.Select();
    
    changeStyleBBT(lastParagraph);
        if(i%2000 == 0){
            console.log("处理到表格=" + i + ", 总共" + countT);
        }
    }

    MsgBox("选择完毕!");
}

/**
* 表标题样式设置
**/
function changeStyleBBT(paragraphObj){
	/*段落的对齐方式 对齐方式:居中;*/
	paragraphObj.Alignment = wdAlignParagraphCenter;
	// 宋体 五号 加粗
		(font => {
		font.Blod = true;
		font.Size = 10.5;//5号字
		font.Name = "宋体";
//		font.NameAscii = 'Times New Roman';
	})(paragraphObj.Range.Font);
	
	//段前段后:0行;行距:1.5行距;
	(obj=>{
	/*本示例将活动文档中所有段落的段前间距设置为 6 磅。*/
	obj.SpaceBefore = 0;
	/*本示例将活动文档中所有段落的段后间距设置为 6 磅。*/
	obj.SpaceAfter = 0;
	/*为指定段落设置 1.5 倍行距。*/
	obj.LineSpacingRule = wdLineSpace1pt5;

	})(paragraphObj.Range.ParagraphFormat);
	
	changeStyleBBT_CJ(paragraphObj);
}

/**
* 表标题样式缩进
*/
function changeStyleBBT_CJ(paragraphObj){
	/*左侧、右侧:0字符;特殊格式:首行缩进,2字符*/
	/* 该属性返回或设置指定段落的左缩进量(以字符为单位) */
	
	
	if(paragraphObj.LeftIndent != 0){
		paragraphObj.LeftIndent = 0;
	}
	if(paragraphObj.CharacterUnitLeftIndent != 0){
		paragraphObj.CharacterUnitLeftIndent = 0
	}
//	
	/* 该属性返回或设置指定段落的右缩进量(以字符为单位) */
	if(paragraphObj.RightIndent != 0){
		paragraphObj.RightIndent = 0;
	}
	if(paragraphObj.CharacterUnitRightIndent != 0){
		paragraphObj.CharacterUnitRightIndent = 0
	}

	/*设置首行缩进*/
	if(paragraphObj.FirstLineIndent != 0){
		paragraphObj.FirstLineIndent = 0;
	}
	if(paragraphObj.CharacterUnitFirstLineIndent != 0){
		paragraphObj.CharacterUnitFirstLineIndent = 0;
	}
	
	if(paragraphObj.LeftIndent != 0){
		paragraphObj.LeftIndent = 0;
	}
	if(paragraphObj.CharacterUnitLeftIndent != 0){
		paragraphObj.CharacterUnitLeftIndent = 0
	}
//	
	/* 该属性返回或设置指定段落的右缩进量(以字符为单位) */
	if(paragraphObj.RightIndent != 0){
		paragraphObj.RightIndent = 0;
	}
	if(paragraphObj.CharacterUnitRightIndent != 0){
		paragraphObj.CharacterUnitRightIndent = 0
	}

	/*设置首行缩进*/
	if(paragraphObj.FirstLineIndent != 0){
		paragraphObj.FirstLineIndent = 0;
	}
	if(paragraphObj.CharacterUnitFirstLineIndent != 0){
		paragraphObj.CharacterUnitFirstLineIndent = 0;
	}
}

3 录制脚本

如果有些API搜索不到,可以通过录制脚本,看看WPS生成的脚本是怎么写的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1803085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

测试工具链

缺陷管理 bug管理工具 devops---项目管理--缺陷管理 bug管理地址 https://devsecops.mychery.com:8443/chery/project?filterROLE&statusACTIVE bug管理环境 采用公司的devops平台&#xff0c;对每个项目的bug进行管理。目前在使用 接口测试和服务端性能测试 工具…

基础乐理入门

基础概念 乐音&#xff1a;音高&#xff08;频率&#xff09;固定&#xff0c;振动规则的音。钢琴等乐器发出的是乐音&#xff0c;听起来悦耳、柔和。噪音&#xff1a;振动不规则&#xff0c;音高也不明显的音。风声、雨声、机器轰鸣声是噪音&#xff0c;大多数打击乐器&#…

【CS.SE】使用 docker pull confluentinc/cp-kafka 的全面指南

文章目录 1 引言2 准备工作2.1 安装 Docker2.1.1 在 Linux 上安装 Docker2.1.2 在 macOS 上安装 Docker2.1.3 在 Windows 上安装 Docker 2.2 验证 Docker 安装 3 拉取 confluentinc/cp-kafka Docker 镜像3.1 拉取镜像3.2 验证镜像 4 运行 Kafka 容器4.1 启动 ZooKeeper4.2 启动…

Nextjs学习教程

一.手动创建项目 建议看这个中文网站文档,这个里面的案例配置都是手动的,也可以往下看我这个博客一步步操作 1.在目录下执行下面命令,初始化package.json文件 npm init -y2.安装react相关包以及next包 yarn add next react react-dom // 或者 npm install --save next react…

2024最新 Jenkins + Docker实战教程(八)- Jenkins实现集群并发构建

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

转型AI产品经理(4):“认知负荷”如何应用在Chatbot产品

认知负荷理论主要探讨在学习过程中&#xff0c;人脑处理信息的有限容量以及如何优化信息的呈现方式以促进学习。认知负荷定律认为&#xff0c;学习者的工作记忆容量是有限的&#xff0c;而不同类型的认知任务会对工作记忆产生不同程度的负荷&#xff0c;从而影响学习效果。以下…

Java面试八股之什么是自动装箱和自动拆箱

什么是自动装箱和自动拆箱 在Java中&#xff0c;自动装箱&#xff08;Autoboxing&#xff09;和自动拆箱&#xff08;Auto-unboxing&#xff09;是两个与基本数据类型和它们对应的包装类之间的转换相关的特性。这两个概念自Java 5&#xff08;也称为Java SE 5或JDK 5&#xff…

SpringBoot3整合Mybatis-Plus3.5.5出现的问题

主要是由于 mybatis-plus 中 mybatis 的整合包版本不够导致的 排除 mybatis-plus 中自带的 mybatis 整合包&#xff0c;单独引入即可 java.lang.IllegalArgumentException: Invalid value type for attribute factoryBeanObjectType: java.lang.Stringat org.springframework.…

Linux安装Qt5.14.2

下载 qt 5.14.2下载网址 下载qt-opensource-linux-x64-5.14.2.run Linux系统下载.run文件&#xff08;runfile文件&#xff09;&#xff0c;windows系统下载.exe文件&#xff0c;mac系统下载.dmg文件。 md5sums.txt中是各个文件对应的MD5校验码。 验证MD5校验码 md5sum是li…

例54:Draw使用

建立一个控制台工程&#xff0c;输入代码&#xff1a; Screen 13 移动到&#xff08;50,50&#xff09;而不绘图 Draw "BM 50,50" B:移动但不绘制,M:移动到指定位置 将绘图颜色设置为2&#xff08;绿色&#xff09; Draw "C2" C将颜色改为n …

后台管理系统排序混乱,分页出现重复条例

检查了接口和请求参数都没有问题。 查询数据库发现是排序字段create_time 都相同导致的。没有区分度。 解决方案 按照唯一id排序 避免create_time 大批量相同 order by create_time &#xff0c;xxx 两个排序字段

171.二叉树:二叉树的所有路径(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr, right(nullptr) {}* Tree…

电脑提示msvcp140.dll丢失的解决方法(附带详细msvcp140.dll文件分析)

msvcp140.dll是一个动态链接库&#xff08;DLL&#xff09;文件&#xff0c;属于Microsoft Visual C 2015 Redistributable的一部分。它全称为 "Microsoft C Runtime Library" 或 "Microsoft C Runtime Library"&#xff0c;表明该文件是微软C运行时库的一…

Vue3【十二】09Computed计算属性

Vue3【十二】09Computed计算属性 计算属性 获取全名 这种方式是只读的不能修改 这样定义fullName是一个计算属性&#xff0c;可读可写 案例截图 目录结构 代码 Person.vue <template><div class"person"><h1>我是 Person 组件</h1>姓&…

09.2手工制作docker镜像-kod服务

手工制作docker镜像-kod服务 基于centos6.9系统镜像&#xff0c;搭建kod服务&#xff0c;提交镜像 创建并进入容器 添加centos6系统的yum源和epel源 yum源 curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo epel源 curl -o /e…

家宽动态公网IP,使用docker+ddns 实现动态域名解析

官方地址&#xff1a;https://github.com/jeessy2/ddns-go 安装docker docker pull jeessy/ddns-godocker run -d --name ddns-go --restartalways --nethost -v /opt/ddns-go:/root jeessy/ddns-go然后访问ip端口 配置时注意如下

基于OpenVINO实现无监督异常检测

异常检测(AD) 在欺诈检测、网络安全和医疗诊断等关键任务应用中至关重要。由于数据的高维性和底层模式的复杂性&#xff0c;图像、视频和卫星图像等视觉数据中的异常检测尤其具有挑战性。然而&#xff0c;视觉异常检测对于检测制造中的缺陷、识别监控录像中的可疑活动以及检测医…

突发!凌晨4点某制造业大厂国产数据库集群故障...

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、My…

02Linux文件,目录,过滤,管道常用命令

Linux基础概述 Linux基础目录 Linux没有盘符这个概念, 只有一个顶级根目录 /, 所有文件都在它下面 在Windows系统中路径之间的层级关系使用/来表示在Linux系统中路径之间的层级关系使用/来表示,出现在开头的/表示根目录, /home/a.txt表示根目录下的home文件夹内有a.txt文件 …

Android Studio 中文汉化教程

1. 中文语言包 一般jetbrains系列软件都可以使用“中文语言包”进行汉化&#xff0c;语言包如下图所示&#xff1a; 然而&#xff0c;Android Studio的Marketplace并没有类似的中文语言包&#xff08;如下图&#xff09;&#xff0c;经过查阅相关资料发现需要去jetbrains的插件…