以下是引用守柔在2004-11-25 13:26:00的发言:
这个问题问得好。
在EXCEL中已经得到解决,但在WROD中尚未见先例。今天我就当楼主的问题视为一个任务,争取早日完成。
问题已解决,这是一个激动的时刻。
此问题早在一年前,我即进行了反复研究,WORD上当时无解;EXCEL中,老刀兄解决了,但在实际应用中,略有一些隐患。
随后又陆续进行了一些研究工作,终未成正果。
蓦然回首,那人却在灯火阑珊处,后人都说稼轩此句为宋词的最高层境界,在MS中,何尝不是?!化工精品归于平淡。
在WORD中的THISDOCUMENT下,运行要求:只打开此文档,关闭其它文档,ALT+F8,选择并运行宏:UnProtectPassWord,为比较起见,可以先运行:ReWork
请在将宏安全性设为低,并在可靠来源中勾选信任对于VB 项目的访问。
'* +++++++++++++++++++++++++++++++++++++++
'* Created By 守柔(ShouRou)@ExcelHome 2004-11-27 07:59:19
'^The Code Read In [ThisDocument-ThisDocument]^'
'* --------------------------------------------------------------------------
Sub UnProtectPassWord()
'最新修改时间:2004-11-27 07:48:48
Application.ScreenUpdating = False
Application.VBE.CommandBars.FindControl(ID:=2578).Execute
SendKeys "123{Enter 2}", True '假设密码为123,可修改
Call ReWork
Application.ScreenUpdating = True
End Sub
'----------------------
Sub ReWork()
Me.VBProject.VBComponents(1).CodeModule.ReplaceLine 2, "'最新修改时间:" & Now
End Sub
'----------------------
在EXCEL中,假设此工作薄中有三个工作表,请复制以下代码至标准模块中:
----------------------------------------------------------模块1----------------------------------------------------------
Sub UnProtectPassWord()
'最新修改时间:2004-11-27 07:58:18
Application.ScreenUpdating = False
Application.VBE.CommandBars.FindControl(ID:=2578).Execute
SendKeys "shourou{Enter 2}", True '假设密码为shourou,可修改
Call ReWork
Application.ScreenUpdating = True
End Sub
Sub ReWork()
ActiveWorkbook.VBProject.VBComponents(5).CodeModule.ReplaceLine 2, "'最新修改时间:" & Now
End Sub
[此贴子已经被作者于2004-11-27 8:01:52编辑过] |