分享

JS宏代码操作WPS表格 批量创建带密码的工作薄

 优美的代码 2023-04-05 发布于广东

创建一个工作表,A1:A12分别是要创建的表格名称,然后根据这些名称创建工作表。

代码中将创建的工作薄另存为,并设置密码为:123

function 批量创建工作薄(){
	for(let wordName of Range("a1:a12").Value2){
		Workbooks.Add();
		ActiveWorkbook.SaveAs("d:\\Users\\Administrator\\Desktop\\批量创建表格\\"+wordName+".xlsx",null,"123");
		ActiveWorkbook.Close();
	}
}

知识点说明:

一、let 声明一个变量。

javaScript 声明变量一共有三种方式:var ,let  ,const

1、var 是声明变量的旧方式,函数作用域。值可以更改。并且存在变量提升,js解析代码时会将var声明的变量提升至头部,再进行解析。也就是变量可以先使用后声明。

2、let 是作用于块级作用域。值可以更改。不存在变量提升,必须先声明然后再使用。

3、const 常量声明方式,值不可以被改变,一般少用。

二、for  of循环与for in 循环

for...in 和 for...of 是我们都熟悉的 for 循环的替代方案。但是,for...in 和 for...of 用于不同的场合,其主要取决于你要使用的情境,for... of 常用于遍历数组,for... in 常用于遍历对象,而我们知道的 for 循环基本上可以在任何情况下使用。

for in语句在运行该循环结构时,会声明一个变量,然后计算对象或数组类型的表达式,在遍历过程中,变量存储时数组的下标或者对象的方法、属性。

代码示例:

function test(){
	for (var intkey in ["a1","a2","a3"]){
		Console.log(intkey);
	};
}

输出:0,1,2

function test2(){
	var obj={品名:"冰箱",年限:15,产地:"东莞"}
	for (var Key in obj){
		Console.log(Key);
	};
}

输出:品名,年限,产地

for...of语句,它允许您循环遍历可迭代的数据结构,比如字符串、数组、集合等。

代码示例:

//遍历数组
function test3(){
	var Arr=["1月份","2月份",1000];
	for (var Ar of arr){
		Console.log(Ar);
	};
}

输出:1月份,2月份,1000

//遍历单元格
function test4(){
	var rangeS=Range("a2:a5");
	for (var range of rangeS){
		Console.log(range.Value());
	};
}

输出:A2至A5单元格的值

//遍历工作表
function test4(){
	for (var sheetName of Sheets){
		Console.log(sheetName.Name);
	};
}

输出:当前工作薄的所有工作表的名字。

三、Workbooks.Add()方法,创建新工作薄。

四、ActiveWorkbook.SaveAs()方法,当前工作薄别存为。

SaveAs()方法的参数如下:

SaveAs(Filename, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)

参数说明(来源于:WPS开放平台开发者文档说明):

Filename

可选

Variant

一个表示要保存文件的文件名的字符串。可包含完整路径,如果不指定路径,ET 将文件保存到当前文件夹中。

FileFormat

可选

Variant

保存文件时使用的文件格式。要查看有效的选项列表,请参阅 XlFileFormat 枚举。对于现有文件,默认采用上一次指定的文件格式;对于新文件,默认采用当前所用 ET 版本的格式。

Password

可选

Variant

它是一个区分大小写的字符串(最长不超过 15 个字符),用于指定文件的保护密码。

WriteResPassword

可选

Variant

一个表示文件写保护密码的字符串。如果文件保存时带有密码,但打开文件时不输入密码,则该文件以只读方式打开。

ReadOnlyRecommended

可选

Variant

如果为 True,则在打开文件时显示一条消息,提示该文件以只读方式打开。

CreateBackup

可选

Variant

如果为 True,则创建备份文件。

AccessMode

可选

XlSaveAsAccessMode

工作簿的访问模式。

ConflictResolution

可选

XlSaveConflictResolution

一个 XlSaveConflictResolution 值,它确定该方法在保存工作簿时如何解决冲突。如果设为 xlUserResolution,则显示冲突解决对话框。如果设为 xlLocalSessionChanges,则自动接受本地用户的更改。如果设为 xlOtherSessionChanges,则自动接受来自其他会话的更改(而不是本地用户的更改)。如果省略此参数,则显示冲突处理对话框。

AddToMru

可选

Variant

如果为 True,则将该工作簿添加到最近使用的文件列表中。默认值为 False。

TextCodepage

可选

Variant

ET中对于所有语言都忽略此参数。 注释:当 ET 将工作簿保存为某种 CSV 或文本格式(使用 FileFormat 参数指定)时, ET 使用对应于当前计算机上使用的系统区域设置语言的代码页。在“控制面板”中单击“区域和语言”,再单击“位置”选项卡,在“当前位置”下可获得此系统设置。

TextVisualLayout

可选

Variant

ET中对于所有语言都忽略此参数。 注释:当 ET 将工作簿保存为某种 CSV 或文本格式(使用 FileFormat 参数指定)时,它按逻辑布局保存这些格式。如果文件中左至右 (LTR) 文本嵌在右至左 (RTL) 文本中,或者相反,那么逻辑布局将把文件的内容,按照文件中所有语言的正确阅读顺序保存,而不考虑方向。当应用程序打开文件时,每串 LTR 或 RTL 字符将根据代码页中的字符值范围,按照正确的方向呈现。(除非用来打开文件的应用程序是为显示文件的确切内存布局而设计的应用程序,如调试器或编辑器)。

Local

可选

Variant

如果为 True,则以 ET(包括控制面板设置)的语言保存文件。如果为 False(默认值),则以 示例代码 (VBA) 的语言保存文件。VBA 通常为美国英语版本,除非从中运行 Workbooks.Open 的 VBA 项目是旧的国际化 XL5/95 VBA 项目。

参数写法示例:

SaveAs("你的文件名",null,"123")示例中一共用了三个参数,第一个参数为你的文件名,第二个不需要使用必须null来占位,第三个参数为文档密码。

五、ActiveWorkbook.Close()方法为关闭当前工作薄。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多