`
forestkqq
  • 浏览: 207027 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Word文档模板内容替换并保存的客户端函数

阅读更多

做了一个WEB客户端函数,使用Word文档作为模板,替换指定的内容,并自动保存。

 

有兴趣的大侠尝试下修改成 javascipt吧

 

<script language="vbscript">
// ---------------------------------------------------------------------------------
// 替换Word文档内容,并另存为 
// pSelect - Input Select,text为原值,value为目标值 
// theTemplate
// saveTo, 另存为,函数中未使用。
// CertificateCode 证书编号,另存的文件名使用 
// ---------------------------------------------------------------------------------
Sub buildDoc( theTemplate, pSelect, saveTo, CertificateCode ) 	
	dim cSaveTo 	

	cSaveTo = "c:\" + CertificateCode + ".doc"   	
	// 另存为文件"
	
	Set objWordDoc = CreateObject("Word.Document") 
	ObjWordDoc.Application.Visible=True 	
	ObjWordDoc.Application.Documents.Open theTemplate, False 

	Set myRange = ObjWordDoc.Application.ActiveDocument.Content

	For intCount = 0 to pSelect.length - 1

		myRange.Find.ClearFormatting
    	myRange.Find.Replacement.ClearFormatting
    
    	FindText 		= pSelect.options(intCount).text
    	ReplaceWith		= pSelect.options(intCount).value

    	MatchCase		= false
    	MatchWholeWord	= false 
    	MatchWildcards	= false 
    	MatchSoundsLike	= false 	
    	MatchAllWordForms = false 
    	Forward	= true  
    	// wdFindAsk  2 	wdFindContinue  1 		wdFindStop  0 
    	Wrap 	= 1    
    	Format	= false 
    	// wdReplaceAll = 2   wdReplaceNone = 0  wdReplaceOne = 1 
    	nReplace = 2 
    	call myRange.Find.Execute( FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, nReplace )
		
	Next 
	
	// 另外为...。如果目标文件已经存在,ActiveDocument.SaveAs会直接覆盖,所以先判断文件是否存在
	// 查询文件是否已经存在。VBA中有个函数Dir,没试验成功。
	lFind = false 
	set objFileSearch = ObjWordDoc.Application.FileSearch
	objFileSearch.FileName = CertificateCode + ".doc"
	objFileSearch.LookIn = "c:\\"
	if objFileSearch.Execute > 0 then 
		// MsgBox objFileSearch.FoundFiles.Count
    	For I = 1 to objFileSearch.FoundFiles.Count
			// msgbox ucase(cSaveTo) + "|" + ucase(objFileSearch.FoundFiles( I ))
    		if  ucase(cSaveTo) = ucase(objFileSearch.FoundFiles( I ) ) then 
				lFind = true
				exit for 
			end if 
    	Next 
	end if 
	
	if lFind = false then 
		// 直接另存为 
		ObjWordDoc.Application.ActiveDocument.SaveAs cSaveTo 
	else 
		// vbYesNoCancel + vbExclamation )
		slt = MsgBox( "系统自动命名保存的证书草稿文件“" + cSaveTo + "”已经存在,需要覆盖吗?", 3 + 48 ) 
		Select Case slt
         Case 6 	// vbYes		 	
			ObjWordDoc.Application.ActiveDocument.SaveAs cSaveTo 
         Case 7 	// vbNo		 	
			set dlgSaveAs = ObjWordDoc.Application.Dialogs( 84 )
            dlgSaveAs.Name = cSaveTo
            dlgSaveAs.Show
         Case Else
      	End Select
	end if 
	
	// 激活指定的应用
	ObjWordDoc.Application.Activate
	
End Sub 

</script>
0
0
分享到:
评论

相关推荐

    Python核心编程第二版(ok)

     1.6 Python文档   1.7 比较Python(Python与其他语言的比较)   1.8 其他实现   1.9 练习   第2章 快速入门   2.1 程序输出,1print语句及“HellocWorld!”   2.2 程序输入和raw_input()内建...

    Python核心编程第二版

     1.6 Python文档   1.7 比较Python(Python与其他语言的比较)   1.8 其他实现   1.9 练习   第2章 快速入门   2.1 程序输出,print语句及“Hello World!”   2.2 程序输入和raw_input()内建...

    vc++ 应用源码包_1

    在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自绘对话框。 vc编程:自动停靠窗体,吸附窗体 OnMoving事件处理。 vc基于HTTP协议断点续传和多线程下载源代码 VC满屏开满玫瑰花 VC然输入框出现气球提示 调用...

    vc++ 应用源码包_2

    在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自绘对话框。 vc编程:自动停靠窗体,吸附窗体 OnMoving事件处理。 vc基于HTTP协议断点续传和多线程下载源代码 VC满屏开满玫瑰花 VC然输入框出现气球提示 调用...

    vc++ 应用源码包_6

    独立打包,保证可解压,内含大量源码,网上搜集...在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自绘对话框。 vc编程:自动停靠窗体,吸附窗体 OnMoving事件处理。 vc基于HTTP协议断点续传和多线程下载源代码 VC...

    vc++ 应用源码包_5

    独立打包,保证可解压,内含大量源码,网上搜集...在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自绘对话框。 vc编程:自动停靠窗体,吸附窗体 OnMoving事件处理。 vc基于HTTP协议断点续传和多线程下载源代码 VC...

    vc++ 应用源码包_3

    在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自绘对话框。 vc编程:自动停靠窗体,吸附窗体 OnMoving事件处理。 vc基于HTTP协议断点续传和多线程下载源代码 VC满屏开满玫瑰花 VC然输入框...

    vc++ 开发实例源码包

    它包括客户端和服务端,客户端软件主要作用是监测本主机的活动,并将监测到的信息定时发送给服务器。服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。...

    php网络开发完全手册

    7.3.4 str_word_count 107 7.3.5 字符串查找操作——strstr 108 7.3.6 获得字符串的长度——strlen 108 7.3.7 获得字符串的子串——substr 109 7.4 正则表达式简介 109 7.5 正则表达式与字符操作的综合应用 110 ...

    JAVA上百实例源码以及开源项目

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    JAVA上百实例源码以及开源项目源代码

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    Python Cookbook

    2.27 从微软Word文档中抽取文本 97 2.28 使用跨平台的文件锁 98 2.29 带版本号的文件名 100 2.30 计算CRC-64循环冗余码校验 102 第3章 时间和财务计算 105 引言 105 3.1 计算昨天和明天的日期 111 3.2 寻找...

    Access 2000数据库系统设计(PDF)---001

    1246.2.3 在多个字段上排序数据 1256.2.4 删除表排序次序和解冻列 1256.3 查找表中的匹配记录 1266.4 自动地替换匹配的字段值 1276.5 筛选表数据 1286.5.1 按选定内容筛选 1286.5.2 按窗体筛选 1306.5.3 高级筛选和...

    Access 2000数据库系统设计(PDF)---018

    1256.2.4 删除表排序次序和解冻列 1256.3 查找表中的匹配记录 1266.4 自动地替换匹配的字段值 1276.5 筛选表数据 1286.5.1 按选定内容筛选 1286.5.2 按窗体筛选 1306.5.3 高级筛选和排序 1326.5.4 添加一个多字段...

    Access 2000数据库系统设计(PDF)---011

    1256.2.4 删除表排序次序和解冻列 1256.3 查找表中的匹配记录 1266.4 自动地替换匹配的字段值 1276.5 筛选表数据 1286.5.1 按选定内容筛选 1286.5.2 按窗体筛选 1306.5.3 高级筛选和排序 1326.5.4 添加一个多字段...

    Access 2000数据库系统设计(PDF)---020

    1256.2.4 删除表排序次序和解冻列 1256.3 查找表中的匹配记录 1266.4 自动地替换匹配的字段值 1276.5 筛选表数据 1286.5.1 按选定内容筛选 1286.5.2 按窗体筛选 1306.5.3 高级筛选和排序 1326.5.4 添加一个多字段...

    Access 2000数据库系统设计(PDF)---002

    1246.2.3 在多个字段上排序数据 1256.2.4 删除表排序次序和解冻列 1256.3 查找表中的匹配记录 1266.4 自动地替换匹配的字段值 1276.5 筛选表数据 1286.5.1 按选定内容筛选 1286.5.2 按窗体筛选 1306.5.3 高级筛选和...

Global site tag (gtag.js) - Google Analytics