OA项目中遇到这样一个问题:用户起草一种类型的公文,编辑word正文时希望能够将公文中的一些内容自动带到正文中,这个无非就是从服务器上把公文所对应的word正文文件下载到本地,替换掉里面指定内容的事,问题的关键在于替换掉内容后,或者用户填写了内容后,关闭word文件,如何监听此事件以在word程序退出后将此文件上传到服务器,不然,用户岂不是只是在本地做了修改,毫无用处。google了很久,终于解决了此问题,过程如下:
<html>
<body onload="download(34567);init("C://Temp/" + 34567 + ".doc");replacefile();wordlistener();">
</body>
</html>
<script language="javascript">
//根据公文ID下载文件
function download(objID){
doDownload(objID);
}
function upload(filepath){
doUpload(filepath);
}
</script>
<script language="vbscript">
'定义变量 开始
'定义操作word文件的相关变量
Dim myDocApp
Dim myDoc
Dim objSelection
Dim wordfilepath
'定义变量 结束
'初始化 开始
'设置操作word文件的相关变量
function init(filepath)
Set myDocApp = CreateObject("Word.Application")
myDocApp.Visible = True
myDocApp.Activate
myDocApp.Application.ScreenUpdating = False
set myDoc = myDocApp.Documents.Open(filepath)
Set objSelection = myDocApp.Selection
Set wordfilepath = filepath
end function
'初始化 结束
'替换文件使用VBS 开始
'对下载到本地的公文模板进行内容替换
function replacefile()
replace "#departname#","办公室"
replace "#username#","张三"
replace "#createDate#","2009-12-17"
end function
'替换文件使用VBS 结束
'替换函数 开始
function replace(text,replacetext)
With objSelection.Find
.Text = text
.Replacement.Text = replacetext
.Forward = True
.Wrap = 1
.Execute ,,,,,,,,,,2
End With
end function
'替换函数 结束
'监听系统进程的函数 开始
function wordlistener()
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objEventSource = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceOperationEvent WITHIN 5 WHERE TargetInstance ISA 'Win32_Process'")
Do While True
Set objEventObject = objEventSource.NextEvent()
If Ucase(Left(objEventObject.TargetInstance.Name, 7)) = "WINWORD" Then
Select Case objEventObject.Path_.Class
'如果是打开
'Case "__InstanceCreationEvent"
'在这里添加事件处理代码
'如果是关闭
Case "__InstanceDeletionEvent"
'在这里添加事件处理代码 上传文件
upload wordfilepath
Exit Do
End Select
End If
Loop
end function
'监听系统进程的函数 结束
</script>
分享到:
相关推荐
实时监控进程开启demo,使用WMI实时监控进程事件的发生,并做出相应操作
本文实例讲述了python使用wmi模块获取windows下的系统信息 监控系统 #!/usr/bin/env python # -*- coding: utf- -*- #http://www.cnblogs.com/liu-ke/ import wmi import os import sys import platform ...
易语言利用WMI对象实现进程监控源码,利用WMI对象实现进程监控,进程监控_启动,进程监控_停止,进程监控_主线程,CreateThread,TerminateThread,CoInitialize,CoUninitialize
易语言源码利用WMI对象实现进程监控.rar
近期公司要让写个远程监控进程的内存和cpu百分比,自己写了个程序,主要功能就是监控多台机器指定进程的cpu占比和内存消耗
易语言应用WMI监控进程源码,应用WMI监控进程,进程监控_启动,进程监控_停止,进程监控_主线程,CreateThread,TerminateThread,CoInitialize,CoUninitialize
Visual C++源代码 82 如何使用WMI条件查询系统服务Visual C++源代码 82 如何使用WMI条件查询系统服务Visual C++源代码 82 如何使用WMI条件查询系统服务Visual C++源代码 82 如何使用WMI条件查询系统服务Visual C++源...
易语言源码易语言应用WMI监控进程源码.rar 易语言源码易语言应用WMI监控进程源码.rar 易语言源码易语言应用WMI监控进程源码.rar 易语言源码易语言应用WMI监控进程源码.rar 易语言源码易语言应用WMI监控进程源码....
详细演示了C++调用WMI遍历进程的整个过程,有详细注释,代码可以直接复用。
一个使用WMI获取系统信息的实例,包括进程、服务和硬件信息,很有参考价值
VBS结合WMI技术修改IP地址,网关,DNS等
易语言应用WMI监控进程源码。@易语言在线学习。
易语言利用WMI对象实现进程监控.rar 易语言利用WMI对象实现进程监控.rar 易语言利用WMI对象实现进程监控.rar 易语言利用WMI对象实现进程监控.rar 易语言利用WMI对象实现进程监控.rar 易语言利用WMI对象实现进程...
c#做的系统监控小程序。 实时监控CPU、内存、硬盘的各种信息。
易语言利用WMI对象实现进程监控源码。@易语言源码分享站。
使用wmi条件查询系统服务
通过WMI终止一个进程
从百度文库下到的资料,觉得对一些初学者会有帮助。 声明,非原创,意在分享。