`

delphi控制 word的几种方法--转

阅读更多

对几种方法的难易程度的判别

a.通过Delphi的控件TOleContainer 将Word嵌入

这是最简单的Ole嵌入,能够直接将Word文档调用,只需要使用ToleContainer.Run就可以

将Word文
档直接启动。且这样启动的Word文档与Delphi程序是一个整体(从界面上看),但是它存

在不可克
服的缺点,即不能通过Delphi控制Word文档,也就不能实现将灵活操纵Word的目的。

b.使用Delphi提供的Servers控件调用Word,使用Word的属性
使用Delphi的Servers控件来操纵Word,在编程时Delphi能够实现代码提示,总体上看能

够较好的实
现Delphi对Word的控制,但是还有一些Word的功能不能在Delphi中调用(比如自己编写的

VBA宏代码)。
且实现功能时本来在VBA代码中可选则参数在Delphi调用的时候必须添加,否则,连编译

都不能通过。
本方式启动的Word与Delphi程序分属两个窗体。
此办法仅能作为一个参考。

c.通过真正的Com技术,将Office软件目录中文件MSWORD9.OLB中的类库全部导入Delphi中


利用Com技术编程
利用真正的Com技术,将MsWord9.OLD文件类库导入,然后利用Com技术进行使用。
整体上类似使用Delphi的Servers控件,稍微比Servers控件麻烦,优缺点与Servers控件

相同。

d.使用CreateOleObject将启动Word,然后以Ole方式对Word进行控制。
本办法是使用以CreateOleObjects方式调用Word,实际上还是Ole,但是这种方式能够真

正做到完全
控制Word文件,能够使用Word的所有属性,包括自己编写的VBA宏代码。
与Servers控件和com技术相比,本方法能够真正地使用Word的各种属性,和在VBA中编写

自己的代码
基本一样,可以缺省的代码也不需要使用。
本方式启动的Word与Delphi程序分属两个窗体。
缺点是使用本方法没有Delphi代码提示,所有异常处理均需要自己编写,可能编写时探索

性知识比较多。

[b]五、Word命令宏的详细描述[/b]
Word本身的命令函数包含很多,但是无论是word联机帮助还是MSDN帮助,都没有这方面的

介绍,因此只能
凭自己的实验取探索,初步探测的函数如下:
宏名 解释 注释
FileNew 新建
FileNewDefault 新建空白文档
FileSaveAs 另存为
FileOpen 打开
FileClose 关闭
FilePrint 打印
FilePrintPreview 打印预览
ToolsCustomize 工具栏里面的自定义
ToolsOptions 工具选项
ToolsRevisions 突出显示修订
ToolsReviewRevisions 接受或拒绝修订
ToolsRevisionMarksAccept 接受修订
ToolsRevisionMarksReject 拒绝修订
ToolsRevisionMarksToggle 修订
ToolsMacro 宏
ToolsRecordMacroToggle 录制新宏
ViewSecurity 安全性
ViewVBCode 查看VB编辑器环境
FileTemplates 模板和可加载项
ToolsProtectUnprotectDocument 解除对文档的保护
InsertHyperlink 插入超级链接
EditHyperlink 编辑超级链接
DeleteHyperlink 删除超级链接
EditLinks 查看、删除链接
EditPasteAsHyperlink 粘贴超级链接
FormatStyle 样式
EditBookMark 书签


[b]一、Delphi程序启动Word[/b]
采用CreateOleObjects的方法来启动Word,调用VBA代码,具体实现过程为:
首先使用GetActiveOleObject('Word.Application')判断当前内存中是否存在Word程序,如果存在, 则直接连接,如果没有Word程序,则使用CreateOleObject('Word.Application')启动Word

[b]二、Delphi程序新建Word文稿[/b]
格式:WordDocuments.Add(Template,NewTemplate,DocumentType,Visible)
Template: 使用模板的名称,
NewTemplate: 新建文档的类型,True表示为模板,False表示为文档
DocumentType: 文档类型,默认为空白文档
Visible: 打捞的窗口是否可见

举例:Doc_Handle:=Word_Ole.Documents.Add

(Template:='C:\Temlate.dot',NewTemplate:=False);

[b]三、Delphi程序打开Word文稿[/b]
格式:WordDocuments.Open

(FileName,ConfirmConversions,ReadOnly,PassWordDocument,


PasswordTemplate,Revent,WritePasswordDocument,WritePassWordTemplate,Format,Encoding,
Visible)

FileName: 文档名(包含路径)
Confirmconversions: 是否显示文件转换对话框
ReadOnly: 是否以只读方式打开文档
AddToRecentFiles: 是否将文件添加到"文件"菜单底部的最近使用文件列表中
PassWordDocument: 打开此文档时所需要的密码
PasswordTemplate: 打开此模板时所需要的密码
Revert: 如果文档已经,是否重新打开文档
WritePasswordDocument: 保存对文档更改时所需要的密码
WritePasswordTemplate: 保存对模板进行更改时所需要的密码
Format: 打开文档时所需使用的文件转换器
Encoding: 所使用的文档代码页
Visible: 打开文档的窗口是否可见

举例:
Doc_Handle:=Word_Ole.Documents.open(FileName:=Doc_File,ReadOnly:=False,
AddToRecentFiles:=False);

[b]四、Delphi程序保存Word文稿[/b]
格式:WordDocuments.SaveAs(FileName, FileFormat, LockComments, Password, AddToRecentFiles, WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts,
SaveNativePictureFormat, SaveFormsData,
SaveAsAOCELetter)

FileName: 文件名。默认为当前文件夹和文件名。
FileFormat 文档保存的格式。
LockComments 如果为 True,则此文档只允许进行批注。
Password 打开文档时的口令。
AddToRecentFiles 如果为True,则将文档添至"文件"菜单中最近使用的文档列表中

分享到:
评论

相关推荐

    delphi控制word文档搜索

    首先,要实现Delphi控制Word进行文档搜索,我们需要了解几个关键组件和技术: 1. **ActiveX技术**:Delphi可以通过ActiveX控件与外部应用程序交互,例如Microsoft Office中的Word。ActiveX控件是OLE(对象链接和...

    Delphi实现Word、PDF文档转Image

    在实现"Word转Jpg"的过程中,通常会利用Windows API或第三方库来读取Word文档内容,并将其渲染为图像。对于PDF文档,可能需要使用专门的PDF解析库,如Ghostscript或iText,来获取页面内容并转换成图像。 在这个项目...

    delphi操作word插入文字图片.rar

    在IT领域,Delphi是一种基于Object Pascal的集成开发环境(IDE),它以其高效、高性能的编译器和丰富的组件库而闻名。Word则是Microsoft Office套件中的一个文档处理软件,广泛用于创建、编辑和格式化文本。本示例中...

    delphi ole word.rar

    当使用Delphi结合OLE技术来操作Word时,主要涉及到以下几个核心知识点: 1. OLE自动化:OLE自动化允许 Delphi 应用程序控制其他支持此功能的应用程序,如 Microsoft Word。通过调用Word对象模型中的方法和属性,...

    delphi操作word和excel

    在IT行业中,Delphi是一种基于Object Pascal编程语言的集成开发环境(IDE),它以其高效性和灵活性深受开发者喜爱。本文将详细探讨如何使用Delphi来操作Microsoft Office中的Word和Excel组件,以及可能遇到的问题和...

    delphi修改并打印word

    在IT行业中,Delphi是一种基于Object Pascal编程语言的集成开发环境(IDE),广泛用于创建桌面应用程序。本主题聚焦于如何使用Delphi来修改并打印Word文档,这涉及到几个关键的技术点,包括COM组件、Microsoft ...

    delphi中用CreateOleObject操作word的例子

    delphi中用CreateOleObject操作word的...可以添加,保存,修改,支持word的好几种格式,把word嵌入到pannel中等。很好用的开发程序例子。比olecontiner好用多了。需要引用单元comobj.pas 我用的是delphixe版本写的。

    RTF2BMP Delphi

    在深入理解RTF2BMP Delphi的工作原理时,我们需要关注以下几个关键知识点: 1. **RTF格式解析**:程序需要能够解析RTF文件,提取其中的文字和图像信息。这通常涉及理解RTF的语法和结构,包括控制字、命令、颜色、...

    RsRuler4.0 Delphi 标尺控件

    RsRuler4.0是一款专为Delphi开发者设计的标尺控件,它提供了一种在应用程序中集成直观、可自定义的标尺界面的方法。这个控件使得开发者能够轻松地在用户界面上添加类似纸张标尺的功能,增强用户在编辑、测量或布局...

    delphi面试题.pdf

    - **接口** 是 Delphi 中一种特殊的抽象类型,它定义了一组方法签名,但不提供具体的实现。接口允许实现者提供自己的方法实现。 - 接口的主要用途之一是在不需要继承的情况下实现松耦合。例如: ```pascal ...

    Delphi-and-Word.rar_Delphi控件源码_Delphi_

    在Delphi中,使用OLE Automation与Word交互通常涉及到以下几个关键知识点: 1. **创建Word对象**:首先,你需要创建一个`TOleServer`对象,这是Delphi中用于与OLE服务器(如Word)交互的组件。通过`CreateOleObject...

    Delphi根据区位码转换成汉字..rar

    在IT行业中,Delphi是一种基于Pascal语言的集成开发环境(IDE),由Embarcadero Technologies公司维护。这个“Delphi根据区位码转换成汉字”主题涉及到的是字符编码和字符串处理的知识点,特别是如何在Delphi程序...

    Delphi流文件操作

    Tstream类中定义了以下几个重要的属性和方法: 1. Size属性:返回流中数据的大小,以字节为单位。 2. Position属性:控制流中存取指针的位置。 3. Read方法:从流中读取数据,函数原形为Function Read(var Buffer;...

    Delphi与仪表之间的MODBUS通讯

    上位机与VSD-6仪表通讯有多种方法,最简单的做法是通过组态软件,但是通过组态软件在工业控制方面,由于速度的要求,达不到用户的要求。因此,我们使用Delphi自身的SpComm控件来实现Delphi与VSD-6仪表的通讯。 首先...

    实现excel或者word转换PDF,再转换成Jpg的源码和需求文件

    总的来说,这个资源包提供了一种在Java环境中进行Office到PDF再到JPG转换的方法,虽然它依赖于外部的OpenOffice服务,但通过提供的库可以方便地在应用程序中集成这种功能。开发者需要熟悉Java编程,并理解如何使用...

    Delphi 6应用开发参考

    以上是对《Delphi 6应用开发参考》一书部分章节内容的详细解析,覆盖了Delphi 6的开发环境设置、Object Pascal语言基础及高级特性、常见组件的使用方法,以及键盘和鼠标事件的处理技巧。这对于Delphi开发人员来说是...

    Delphi编写的OLE自动化控制器源代码..rar

    在`Delphi`中,`OLE`技术通常通过`COM`(Component Object Model)接口实现,可以用来控制其他支持`OLE Automation`的应用程序,如Excel、Word等,实现程序间的交互和自动化任务。 此压缩包可能包含以下内容: 1. `...

    delphi中实现不同风格的speedbutton

    这类按钮通常用于表示几种互斥选项之间的选择,例如文本编辑器中的对齐方式设置。 ##### 2.2 实现步骤 1. **创建SpeedButton**:在Delphi的设计环境中,通过拖拽的方式添加多个SpeedButton到窗体上。 2. **设置...

    Delphi 7数据类型

    布尔数据类型在Delphi 7中用于表示逻辑值,主要有以下几种形式: - `Boolean`: 占用8位空间,表示真或假。 - `ByteBool`: 占用8位空间,同样用于表示真或假。 - `WordBool`: 占用16位空间,用于表示真或假。 - `...

    Delphi7 程序设计与开发技术大全-第六章

    ### Delphi7 程序设计与开发技术大全-第六章 #### 6.1 简单组件 简单组件是Delphi程序设计的基础部分,它们不仅在日常开发中使用频繁,而且对于初学者来说是掌握Delphi编程的关键。本章节将详细介绍一些常见的简单...

Global site tag (gtag.js) - Google Analytics