• 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,则将文档添至"文件"菜单中最近使用的文档列表中

  • 相关阅读:
    「CF1051F」The Shortest Statement
    「CF911F」Tree Destruction
    「HNOI/AHOI2018」游戏
    「CF859E」Desk Disorder
    「CF858F」 Wizard's Tour
    「CF894E」 Ralph and Mushrooms
    「NOIP2018」赛道修建
    「POI2010」Bridges
    常见神经网络
    数字图像处理笔记2.22
  • 原文地址:https://www.cnblogs.com/westsoft/p/8964779.html
Copyright © 2020-2023  润新知