好一个数字签名,我以为是WORD文档的数字签名呢? 楼主的问题,看起来很简单,实际上非常复杂! 我分几个方面进行阐述WORD关于文档是否发生变化的“侦测” 1:通过SAVED属性。 如果该属性值为 True,则指定文档或模板从上一次保存后一直没有更改。如果为 False,则关闭文档时,Microsoft Word 将提示保存对文档所做的更改。Boolean 类型,可读写。 换句话说,当文档发生改变后,其值为False. 2:通过数字签名 可以为文档进行数字签名,其意义在于保证文档未经任何撰改。可在工具/选项/安全性中对文档进行数字签名,如果原数字签名丢失,则意味着文档发生了更改 3:通过比较,这是楼主所提问题的关键所有,通过VBA现有的技术手段,我们很难知道,当前WORD文档被编辑或者修改了哪些内容,特别是通过VBA对文档的修改,但我们可以通过撤消命令,取得当前文档中的修改内容 Sub GetEdit() Dim myCombx As CommandBarComboBox, EditCount As Integer, N As Integer Set myCombx = Word.CommandBars.FindControl(ID:=128) EditCount = myCombx.ListCount For N = 1 To EditCount Debug.Print myCombx.List(N) Next End Sub 也就是说,如果你定义了你向文档中的操作之前,是为新文档(刚打开)或者清空了文档的撤消次数(ACTIVEDOCUMENT.UNDOCLEAR)后,你的目标操作与LIST中的值一致的话,则说明文档未发生变化(实际上是发生了变化,但它是合法的,你定义需要发生的变化) 相关链接:http://club.excelhome.net/viewthread.php?tid=137454&replyID=&skin=0 不知楼主是否明白呢? |