`
cgs1999
  • 浏览: 541266 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何利用代理创建WORD文档

 
阅读更多

曾经收集的使用代理创建Word文档的一段代码,现在贴出来分享

需要注意的是,如果是B/s下使用,则服务器上必须安装又MS Word,否则会报错哦

1、代理Create Word Document
Option Public
Use "WordReport"

Sub Initialize
Dim ws As New NotesUIWorkspace
Dim view As NotesView
Dim wordfilepath As String

wordfilepath= ""' create an empty file

Set view = ws.CurrentView.View
Set report = New WordReport(wordfilepath, False)

'Call report.writeTextToBookmark("TestBookmark", "Test")
Call report.setVisibility(True)
End Sub


2、WordReport脚本库的代码
%REM ##############################################################################################

Sub new(xlFilename As String, isVisible As Boolean)
SubDelete()
FunctionwriteTextToBookmark(NotesText as String, BookmarkName as String)
Function save()
FunctionsaveAs(filename as String)
Function quit()
Function setVisibility(isVisible As Boolean)
Function getVersion() As String

'-----------------------------------------------------------------
Example Code inside an application database:

Const WORDPATH= "C:/temp/TestWord.doc"

Dim session As New NotesSession
Dim db As NotesDatabase
Dim report As WordReport

Set db = session.CurrentDatabase
Set report= new WordReport (WORDPATH, false)' false = don't show word

Messagebox report.getversion()

Call report.writeTextToBookmark("Bookmark1", "Hello world")' bookmark must exist in word template
Call report.setVisibility(true)

%END REM ##############################################################################################

'-------------------------------------------------------------
' General
'-------------------------------------------------------------
Const WORD_APPLICATION= "Word.application"

'-------------------------------------------------------------
' Errors
'-------------------------------------------------------------
Private Const BASEERROR= 1100

'-------------------------------------------------------------
' Version Information
'-------------------------------------------------------------
Const REG_97= "Software//Microsoft//Office//8.0//Common//InstallRoot"'Registry Key Office 97
Const REG_2000= "Software//Microsoft//Office//9.0//Common//InstallRoot"'Registry Key Office 2000
Const REG_XP= "Software//Microsoft//Office//10.0//Common//InstallRoot"'Registry Key Office XP
Const REG_2003="Software//Microsoft//Office//11.0//Common//InstallRoot"'Registry Key Office 2003

Const NAME_97= "Office 97"
Const NAME_2000= "Office 2000"
Const NAME_XP= "Office XP"
Const NAME_2003= "Office 2003"

'==================================================================================================
' Word Report
'==================================================================================================
Class WordReport

Private wordApp As Variant' Application object
Private wordDoc As Variant' Word document
Private strFilePath As String

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' constructor
'- creates the word application object
'- can use a file (.doc or .dot) as template
'- creates an wmpty document when filename is empty
' - application can be set to visible/invisible
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sub new(wordFilename As String, isVisible As Boolean)
On Error Goto GeneralError

Set wordApp = CreateObject(WORD_APPLICATION)' open the application
wordApp.Documents.Add wordFilename' create a Word document
wordApp.Visible = isVisible' make it visible (or not)
Set wordDoc= wordApp.ActiveDocument' get document object for later use
strFilePath = wordFilename' store the filename

Goto ExitSub

GeneralError:
If Not (wordApp Is Nothing) Then wordApp.quit' quit, if there is an error
Resume ExitSub

ExitSub:
End Sub

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' destructor
' - is invoked when you delete the object via e.g. "delete report"
'- see "delete" keyword in help
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sub Delete

End Sub

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' write text to a bookmark
' - a text is written to a predefined bookmark in the word document
'- 1 = bookmark was written successfully, 0 = error
'- using a bookmark twice inserts both texts: the second in front of the first
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Public Function writeTextToBookmark(BookmarkName As String, textValue As String) As Integer

Dim wr As Variant

If wordDoc.Bookmarks.Exists(BookmarkName) Then
Set wr = wordDoc.Bookmarks(BookmarkName).Range
wr.InsertAfter textValue
writeTextToBookmark = 1

Else
writeTextToBookmark = 0
End If

End Function
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' save file
' - file gets saved at the position where it was created from
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Public Function save
wordDoc.SaveAs( strFilePath )
End Function

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' save file at a designated location
' - file gets saved at the designated location
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Public Function saveAs(newFilename)
wordDoc.SaveAs( newFileName )
End Function

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' quit excel
'- quits word, if it is still running
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Public Function quit
If Not (wordApp Is Nothing) Then
wordApp.Quit
Set wordApp = Nothing
End If
End Function

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' set visibility
'- switches between visible and invisible
'- does this if it makes sense only
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Public Function setVisibility(isVisible As Boolean)
If (isVisible And Not wordApp.Visible) Then wordApp.Visible = True
If (Not isVisible And wordApp.Visible)ThenwordApp.Visible = False
End Function


'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' get version
'- reads the currently installed Word (Office) version from the registry (Windows only)
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Public Function getVersion() As String

On Error Goto GeneralError

Dim formula As String
Dim SWVersion As String
Dim Versions List As String
Dim v As Variant

'----------------------------------------------------------------------
' Initialize all possible versions
'----------------------------------------------------------------------
Versions(NAME_97)= REG_97
Versions(NAME_2000)= REG_2000
Versions(NAME_XP)= REG_XP
Versions(NAME_2003)= REG_2003

'----------------------------------------------------------------------
' test for installed version
'----------------------------------------------------------------------
Forall vers In Versions
formula$ = | (@RegQueryValue("HKEY_LOCAL_MACHINE"; "| & vers & |";"Path")) |
v = Evaluate( formula$ )
If v(0) <> "" Then
getVersion = Listtag(vers)
Goto ExitSub
End If
End Forall

getVersion = ""

Goto ExitSub

GeneralError:

getVersion = ""
Resume ExitSub

ExitSub:
End Function
End Class

分享到:
评论

相关推荐

    TinyMCE富文本编辑器导出为word文档(JS实现)

    本示例着重讲解如何利用JavaScript技术将TinyMCE编辑器中的内容导出为Word文档,以便用户可以离线查看或进一步处理。 在TinyMCE编辑器中,内容是通过HTML代码存储的。因此,导出为Word文档的核心思路是将HTML转换为...

    visual c++ vc操作word,填充word表格并保存doc文件.zip

    6. **WordAutomation.cpp/h**:核心的自动化操作代码可能在这里,包含创建Word实例、打开文档、访问表格、填充数据和保存文件的函数。 7. **StdAfx.cpp/h**:预编译头文件,通常包含常用库的引用,以提高编译速度。...

    MTK MMI入门学习文档(某大方案公司写的内部Word文档)

    1. **软件界面管理机制.doc**:这份文档可能讲解了MTK平台上的用户界面(UI)管理原理,包括如何创建和管理UI组件,如菜单、对话框、控件等,以及如何处理用户交互事件。此外,它可能还会涉及UI布局设计和性能优化。 ...

    干货!如何批量删除多个Word文档的页眉页脚

    在日常工作中,特别是对于那些需要处理大量Word文档的代理公司员工来说,删除文档中的页眉和页脚是一项繁琐的任务。然而,通过使用Visual Basic for Applications (VBA)宏,可以大大提高工作效率,批量删除多个Word...

    java_学习方向Microsoft Word 文档 (2)

    10. **代理**:用于创建具有额外功能的对象,如AOP(面向切面编程)。 11. **装箱/拆箱**:自动将原始类型转换为对应的包装类,反之亦然。 12. **静态引用**:对类的静态成员的访问。 数据库技术涵盖Oracle和MySQL...

    VC操作word小常识

    标题与描述概述的知识点主要集中在使用Visual C++(VC)操作Microsoft Word,通过COM接口实现自动化操作,包括创建Word文档、设置字体格式、插入文本以及处理表格等。下面将详细展开这些知识点: ### 1. 添加COM...

    Java基础面试题 word文档类型

    - 动态代理的应用场景。 7. **设计模式**: - 单例模式、工厂模式、观察者模式、装饰器模式等常见设计模式的理解与实现。 8. **JVM**: - 类加载机制:加载、验证、准备、解析和初始化。 - 内存模型:堆、栈、...

    Excel表格+Word文档各类各行业模板-代 理 店 调 查 书.zip

    标题中的“Excel表格+Word文档各类各行业模板-代理店调查书.zip”表明这是一个包含Excel电子表格和Word文档的压缩文件,专门针对代理店调查设计的一系列模板。这些模板可能适用于零售、分销、快消品等多种行业,用于...

    Python爬取博客的所有文章并存为带目录的word文档.rar

    首先创建一个新的Word文档,然后在文档中添加目录和各篇文章。`python-docx`提供了丰富的API,可以设置字体、字号、段落样式等,方便我们构建美观的目录和文章内容。 为了实现目录,我们需要记录每篇文章的标题和相...

    python实例67-Python爬取博客的所有文章并存为带目录的word文档.rar

    9. **Word文档生成**:Python的`docx`库可以用来创建和修改Word文档。我们需要创建一个`Document`对象,并向其中添加标题、内容和目录。 10. **docx库**:`python-docx`库提供了对Word文档的低级别操作,包括创建...

    vr完全教程!!Microsoft Word 文档.docx

    Microsoft Word 文档.docx",但实际上,这里的“Word文档”可能是指Word文档中包含了关于VRAY的教程链接或内容概述。VRAY是Autodesk 3ds Max、SketchUp、Rhino等三维建模软件中的一个高质量渲染插件,常用于建筑设计...

    Excel表格+Word文档各类各行业模板-世权电算公积金管理软件.zip

    《Excel表格+Word文档在公积金管理中的应用》 在当今信息化时代,电子文档处理软件如Excel和Word已经成为了各行各业工作中不可或缺的工具。本资源“Excel表格+Word文档各类各行业模板-世权电算公积金管理软件.zip”...

    java动态代理 经典文章(word 2007格式的)

    Java动态代理是Java编程中一个重要的特性,它允许在运行时创建代理对象,这些代理对象可以代表并增强原对象的功能。动态代理主要应用于面向切面编程(AOP)和事件监听等场景,使得代码更加模块化,易于维护。以下是...

    java认证课程--WORD文档

    本"java认证课程--WORD文档"可能包含了以下关键知识点: 1. **Java基础知识**:涵盖Java语法基础,如数据类型、变量、运算符、流程控制(if-else,switch,循环)、方法定义和调用,以及类和对象的概念。 2. **...

    Excel表格+Word文档各类各行业模板-机构代表报备表.zip

    2. **Word文档**:Word是文字处理软件,用于创建、编辑和格式化文档。在机构代表报备表中,Word模板可能用于: - **正式报告**:详述报备的过程、理由和背景信息。 - **协议书**:包含双方机构的协议条款,定义...

    Excel表格+Word文档各类各行业模板-代 理 店 关 闭 报 告.zip

    这份"Excel表格+Word文档各类各行业模板-代理店关闭报告"提供了专业的模板,可以帮助用户高效地创建代理店关闭报告,以下是这个压缩包内可能包含的知识点: 1. **Excel表格**:Excel是一款强大的电子表格软件,它被...

    silverlight通过wcf处理word问题

    1. **创建WCF服务**:首先,需要在服务器端创建一个WCF服务,该服务负责处理Word文档相关的请求。 2. **权限配置**:确保WCF服务有足够的权限来读取和写入Word文档。这可能涉及到对服务器的安全设置进行调整。 3. **...

    word文档 计算机专业英语词汇精选

    15. Agents 代理:指计算机程序中可以自动执行任务的代理程序。 16. Analog signals 模拟信号:指模拟电子信号,例如音频信号、视频信号等。 17. Applets 程序:指小型的应用程序,通常用于特定任务。 18. ...

    2020Java综合部分面试题 word文档

    了解并能应用常见的设计模式,如单例、工厂、装饰器、代理、观察者、策略等,这些是衡量一个开发者经验与解决问题能力的重要指标。 11. **JVM优化**: 包括堆内存设置、栈内存设置、方法区优化、垃圾回收器的选择...

    3_新建 Microsoft Word 文档.docx

    从提供的文件内容中,我们可以提取出关于网络爬虫开发和文本处理的...此外,文件中还隐含了URL和网页内容抓取的相关知识,以及对爬虫用户代理字符串(User-Agent)的配置,这些都体现了爬虫开发的实用性和技术细节。

Global site tag (gtag.js) - Google Analytics