如何捕捉word文档内容改变,这一事件?例如:当前文档新增一页,如何实时的记录总的页数?或者怎样在word中加入时钟控件?

解决方案 »

  1.   

    Dim WithEvents obj  As Word.Application
    Private Sub obj_DocumentChange()
    '文档内容改变时,作如下处理:
    End Sub
      

  2.   

    好象有了——
    Private WithEvents appWord  As Word.Application
    Private Sub appWord_DocumentChange()
       msgbox "当前word文件总页数:" & appWord.Selection.Information (wdNumberOfPagesInDocument)
    End Sub
      

  3.   

    winehero(编程人生):
     你好,关键是如何实时的记录页数呢?
      

  4.   

    xinliangyu(yxl):
    你好,如何实时的执行这个事件呢?
    即;在页数增加时,页数自动的改变,
    就像页眉中插入页数时,当增加一页时,页眉的页数,自动的改变。
      

  5.   

    在word中,可以加入app_documentchange事件:
    按照下面三个步骤可生成 Application 对象事件句柄: 在类模块中声明对应于事件的对象变量。
    编写指定事件的过程。
    从其他模块中初始化已声明的对象。 
    声明对象变量在为 Application 对象事件编写过程之前,必须新建一个类模块并声明一个包含事件的 Application 类型对象。例如,假设已建立新类模块并将其定名为 EventClassModule。该类模块包含以下代码:Public WithEvents App As Word.Application编写事件过程定义了包含事件的新对象后,它将出现在类模块的“对象”下拉列表框中,然后可为新对象编写事件过程。(在“对象”框中选定新对象后,其有效事件将出现在“过程”下拉列表框中)。从“过程”下拉列表框中选择一个事件,则在类模块中会增加一空过程。Private Sub App_DocumentChange()End Sub初始化已声明对象在过程运行之前,您必须将类模块中的已声名对象(本例中为 App)和 Application 对象相连接。您可在任何模块中使用以下代码:Dim X As New EventClassModule
    Sub Register_Event_Handler()
        Set X.App = Word.Application
    End Sub运行 Register_Event_Handler 过程。该过程运行后,类模块中的 App 对象指向 Word 的 Application 对象,然后当事件发生时类模块中的事件过程即可生效。
      

  6.   

    但是,app_documentchange事件在以下情况触发:
    生成一个新文档,关闭一个新文档,或者激活一个文档时候,但是,在当前文档中增加或者删除一页,不能触发这个事件。
      

  7.   

    DocumentChange 事件
                    
    这是vba帮助中的解释:----------------------------
    该事件在创建新文档、打开已有文档或激活其他文档时发生。语法Private Sub object_DocumentChange()object  在类模块的事件中声明的 Application 类型事件。有关使用 Application 事件的详细内容,请参阅使用 Application 对象的事件。
    -------------------------------
      

  8.   

    “app_documentchange事件在以下情况触发:
    生成一个新文档,关闭一个新文档,或者激活一个文档时候”那麻烦就大了。继续研究
      

  9.   

    是不是可以用加载api 函数的方法,调用时钟函数呢?
    时钟函数可以找到,
    不过如何加载呢?