注册 登录
编程论坛 VFP论坛

另存为...时设置密码的代码如何写

wengjl 发布于 2021-04-23 09:16, 2524 次点击
VFP控制EXCEL另存为...时设置密码的代码如何写?

VFP代码运行中,打开一个没有密码的EXCEL模板文档,用代码将DBF表的内容写到EXCEL中后,在另存为...时,如何给EXCEL文档设置一个密码并另存为...需要的文档名。这样就实现了,拿到文档的人,要输入密码才能打开的目标。

代码不会写,烦请高手赐教,谢谢!

问题是这样的:中考成绩 以校为单位生成一个EXCEL文档,发给学校前,需要对每个文档设定一个打开密码(每校不一样的密码,有一定规则),100多所学校,每个文档手工设置太慢了,所以想用VFP的代码来设置,以提高效率。
12 回复
#2
瓜瓜19902021-04-23 10:31
oxls=CREATEOBJECT("excel.application")
oxls.Workbooks.Open("d:\desktop\test.xlsx")&&路径改为自己的文件路径
oxls.Workbooks(1).SaveAs("hello",51,"123")

只有本站会员才能查看附件,请 登录

另存为密码123


[此贴子已经被作者于2021-4-23 10:35编辑过]

#3
sdta2021-04-23 11:10
oxls.Workbooks(1).SaveAs("hello",51,"123", .F., .F.)
#4
wengjl2021-04-23 12:13
以下是引用sdta在2021-4-23 11:10:01的发言:

oxls.Workbooks(1).SaveAs("hello",51,"123", .F., .F.)

能解释一下,51 和后面 二个 .F. 的含义吗?
#5
wengjl2021-04-23 12:18
非常感谢二位的帮助!
#6
wengjl2021-04-23 12:24
经测试,可以连设二个密码
oxls.Workbooks(1).SaveAs("hello",51,"123","456", .F., .F.)
#7
sdta2021-04-23 12:59
以下是引用wengjl在2021-4-23 12:13:49的发言:


能解释一下,51 和后面 二个 .F. 的含义吗?

参考:https://blog.bccn.net/sdta/65853
51 是EXCEL2007文件的保存格式

[此贴子已经被作者于2021-4-23 13:01编辑过]

#8
wengjl2021-04-23 13:39
谢谢!
#9
吹水佬2021-04-23 15:08
以下是引用wengjl在2021-4-23 12:13:49的发言:


能解释一下,51 和后面 二个 .F. 的含义吗?

51 指定保存工作表时的文件格式:xlsx
一个 .F.  打开文件时不显示消息
二个 .F.  不创建备份文件
#10
吹水佬2021-04-23 15:10
以下是引用wengjl在2021-4-23 12:24:02的发言:

经测试,可以连设二个密码
oxls.Workbooks(1).SaveAs("hello",51,"123","456", .F., .F.)

一个密码“123”  它是一个区分大小写的字符串(最长不超过 15 个字符),用于指定文件的保护密码。
二个密码“456”  一个表示文件写保护密码的字符串。 如果文件保存时带有密码,但打开文件时不输入密码,则该文件以只读方式打开。
#11
wengjl2021-04-23 15:37
谢谢!
#12
schtg2021-04-24 05:56
学习,谢谢!
#13
radiofan2021-04-25 08:05
学习
1