[问题] OFFICE password 问题

楼主: loser1 (拍嘎爪得白酱)   2023-05-04 09:52:36
之前因为老板要求,本来我手上的 Office 文件都是明码储存,
后来被要求要加密码处理。
于是为了赶快把我手上几千份文档加密,我使用了以下的方式:
Public Sub SetDOCPassword (src_file,oldpassword,newpassword)
dim oWord
dim myDOC
set oWord = CreateObject("Word.Application")
oWord.Visible = FALSE
On Error Resume Next
set myDOC = Nothing
set myDOC =oWord.Documents.Open(src_file,FALSE,FALSE,FALSE,oldpassword)
if Not myDOC is Nothing then
oWord.DisplayAlerts = FALSE
if newpassword = "" then
myDoc.EncryptionProvider = ""
myDOC.SaveAs2 src_file,,FALSE,"",FALSE,""
else
myDOC.Password = newpassword
myDOC.Save
end if
myDOC.Close
end if
oWord.Quit
End Sub
之前一年多,不论是 .docx 或者 office 97 的 .doc 都相安无事,
使用程式加密的文件,该用 word2016 或者 word2003 开启都可以
输入密码正常作业。
但是不知道经过几个更新 之后,上个月有次重新加密的结果,
使用 word2003 开启时输入密码后会出现
https://i.imgur.com/OBU8lCh.png
然后使用 word2016 开启就相安无事。
看起来 VBSCRIPT 执行时会使用 office 2016 作为背景执行的本体。
问题:
1. 我有没有办法让 VBSCRIPT 选择使用的 office ?
2. 这是出了什么问题会让 office2016 加密的 office2003 档案在
office 2003 打不开?
自己回:
office 2016 应该是被更新到使用新的 password 编码方式,
因此就算是旧的 word 档使用旧编码,只要更新过就只能用新的编码加密,
同时也别想用旧的 office 2003 开启。
(PS: e04)
解决方法只能写 BATCH 在使用 office 2003 开档案前先解密编完再加密。
(PS: e04)
作者: ww (刘文听)   2023-05-04 10:34:00
我也还在用2003...
作者: dxzy (Dunning–Kruger effect)   2023-05-04 13:08:00
微软有一群智障在浪费全世界人时间
作者: tomsawyer (安安)   2023-05-04 13:57:00
docx doc要求相容性本来就不现实 活在当下不学新软件=安全性下降 功能性你觉得旧的好用 到头来=产出下降 只会被时代淘汰老人而已
作者: pcfox (京极元狐)   2023-05-05 15:33:00
时薪很贵wwwwwwwwww
作者: arl (花若离枝)   2023-05-05 18:02:00
你的作业时薪很贵?贵不贵那是老板需要担心的领薪水的干嘛担心
作者: dxzy (Dunning–Kruger effect)   2023-05-06 11:07:00
他要是做不完本来该做的就要打白宫 时薪不就降低了工

Links booklink

Contact Us: admin [ a t ] ucptt.com