最新消息:学生作文网,您身边的作文指导专家!

不能对象嵌入 错误嵌入对象无效

写作指导 zuowen 4浏览

【 – 写作指导】

篇一:《不能创建嵌入对象》

不能创建嵌入对象(错误 31032)

该创建对象的应用程序,不能创建如SourceDoc属性中所指定的对象。

例如,这个错误的发生是在试图要嵌入一个电子数据表对象,而SourceDoc指定的电子数据表太大,以致电子数据表应用程序不能装入时。

篇二:《Windows环境下对象的链接与嵌入》

[摘要]Windows环境下的对象的链接与嵌入的操作是微软办公套件中非常重要、非常实用又极易混淆的一个功能,本文重点对二者的区别进行了介绍。

[关键词]Windows Office 对象 链接 嵌入 OLE

对象的链接和嵌入(Object Linking and Embedding,简称OLE)是 Windows应用程序提供的一种插入功能,可以使用链接或嵌入的方式在一个程序的文档中插入另一个程序的文档也可以说是一种把一个文件(或其一部分)插入到另一个文件之中的技术,例如把Excel图表加入到PowerPoint演示文稿或Word文档,或在WORD里面嵌入一段MPEG等等应用。通过OLE插入的数据是“活生生”可编辑的,而不是原始数据的一个静态映像。可以说OLE为所有在Windows环境下兼容的应用提供了一种通用集成的策略,是集成Office大家庭各个应用的功能、构造复合文档的强大工具,是微软为了不同应用程序之间的文件可以互相传递数据而指定的一种规格,使得Windows环境更象组装不同应用对象的工作场地。

在解释链接与嵌入之前,我们要首先明白复合文档的概念。一个复合文档是包含不同应用程序生成的对象文档。这种文档就是一种可以存放对象的所有者,它既可以包含嵌入对象,也可以包含链接对象。这样的处理机制可以使用户集中精力于复合文档,而不是每个用于生成文档中对象的应用,甚至当需要时可以使用这些应用程序的功能,而无需用户实际切换到另一个应用程序。

如果用户使用过链接与嵌入操作,会发现就表面效果而言,链接和嵌入很相似,即一个文档内部出现了另一个文档的数据,但两者的后台运作机制却是不同的。本篇文章中,我们讨论的重点在于这两种功能的区别。我们可以通过了解链接与嵌入的特征以后再来理解这二者的区别。

链接和嵌入都是把信息从一个文档插入另一个文档(复合文档)中。嵌入对象是指包含在源文件中并且插入目标文件中的信息(对象)。一旦嵌入,该对象成为目标文件的一部分。对嵌入对象所做的更改反映在目标文件中。对象被嵌入后,即使更改了源文件,目标文件中的信息也不会改变,嵌入对象被插入后,就变成目标文件的一部分,而不再是源文件一部分,双击嵌入对象可在源程序中打开它。链接对象是指该对象在源文件中创建,然后被插入到目标文件中,并且维持两个文件之间的连接关系。更新源文件时,目标文件中的链接对象也可以得到更新。综上所述,我们可以做如下总结:

插入复合文档中的链接对象具有以下特征:(1)链接的对象实际存在于复合文档之外的文件中,如果这些文件被删除了,链接就丢失了。如果它们被移动了,就必须建立新的链接。由于复合文档中只包含对链接的对象的引用,所以复合文档本身体积是很小的;(2)链接可以跨越网络而存在。即一个复合文档可能存在于一个计算机上,而其中的链接文件却可能存在于另一台计算机上,如果一个复合文档被移动到另一个系统上,那么所有的链接文件也必须随之移动。而嵌入对象具有以下特征:(1)嵌入对象是和复合文档存储在一起的,所以嵌入的对象可以在本地进行编辑,用户不需要离开复合文档,并且对嵌入的对象的改变不会影响到原始文件;(2)嵌入的对象可以和包含它的复合文档一起移动,从而使用户可以轻易地改变文档;(3)包含嵌入对象的复合文档是很大的,这是因为复合文档包含构成对象的所有数据,而不象链接那样单纯地引用外部的对象。 在链接和嵌入操作中,提供数据的一方称为服务器应用,接收数据的一方称为容器应用。嵌入操作把服务器应用的数据本身复制到容器应用的文档,但在链接操作中,容器应用的文档只是包含了一个指向服务器应用文档的指针。所以,二者的区别可以这样来理解:首先,如果在容器文件中嵌入了一个对象,容器文件的体积会变大;如果使用链接,容器文件的体积不会发生很大的变化,因为它只包含一个指向对象的链接,而不是包含了对象本身。其次,如果你把带有嵌入对象的文件从一台PC移到另一台PC,被嵌入对象也随着文件一起移动。如果移动了带有链接对象的文件,被链接对象所在的文件不会随之移动,且链

接一般不再有效。最后,链接与嵌入最重要的区别在于:当你编辑链接或嵌入对象时,产生的结果不同。双击被链接的对象,服务器应用启动并打开原始的数据文件,所有对链接对象的改动都影响到原始文件(当然也会在容器应用内被链接的对象上反映出来)。例如,假设一个Word文档链接了一个Excel工作表,则在Word文档内对Excel工作表的任何改动,都直接影响到原始的Excel工作表。同样,如果你用服务器应用直接打开并编辑原始文件,如用Excel程序编辑工作表,下次打开容器文件即Word文档时也可以看到相应的改动结果。而对于嵌入操作,在容器应用内双击被嵌入的对象,服务器应用启动,但这时的任何改动只对嵌入对象有效,不影响原始文档。

总而言之,我们可以说,链接和嵌入对象的主要差别是存放数据的方式,以及放到目标文件后的更新方式。对象链接后,只有更改了源文件时,数据才会被更新,链接的数据保存在源文件中,目标文件中只保存源文件的位置,并显示一个链接数据的标记,如果不希望文件过大,可使用链接对象。嵌入的对象不象链接的对象那样,一个嵌入的对象是直接存储在复合文档中的。一个嵌入的对象保持和创造它的应用之间的联系,用鼠标器双击对象,就可以打开这个应用,从而对对象进行编辑;链接的对象也可以是一些操作,被在本地激活,如重现和显示,但是它们不能在本地被编辑,而是为进行编辑打开一个独立的窗口。如果链接对象中修改了原始信息,只需更新链接即可更新包含OLE对象的文档,也可以将链接设置为自动更新。如果重命名或移动其中任何一者,则必须重新建立链接。

篇三:《第八章 对象链接与嵌入(一)》

第八章 对象链接与嵌入(一)

对象链接和嵌入(Object Linking and Embeding)是一组服务功能,它提供了一种用源于不同应用程序的信息创建复合文档的强有力方法。 对象可以是几乎所有的信息类型,如文字、位图、矢量图形,甚至于声音注解和录像剪辑等。 Windows附件组中的书写器是应用OLE的实例,使用单击“对象 | 插入”菜单项, 书写器弹出插入对话框,对话框中列出了多个OLE服务器程序,如公式编辑工具,绘图工具,报表生成工具。用户双击鼠标左键,可激活一个OLE服务器。在OLE服务器中可编辑OLE对象,当用户返回到书写器中时,在书写器文档中将出现OLE对象。

Delphi支持OLE技术,Delphi1.0可以创建OLE应用程序,Delphi2.0可创建OLE自动化服务器和控制器程序。本章通过例程介绍对象链接与嵌入的基本概念,Delphi创建OLE对象的方法,OLE自动化的概念以及如何开发OLE自动化服务器和控制器。

8.1 OLE简介

8.1.1 OLE1.0和OLE2.0

迄今为止,有两种版本的OLE:OLE1.0和OLE2.0。当用户在OLE1.0 服务器中激活OLE对象,服务器程序在前台打开自己的窗体,并获得焦点。OLE窗体失去焦点,存在于单独的窗体之中。

OLE2.0服务器采用“本地”(in place)激活方式。本地激活意味着服务器菜单与应用程序菜单要进行融合,服务器的状态条更换应用程序状态条,服务器的工具条更换应用程序工具条。OLE对象在应用程序窗体中进行编辑,但所有过程均由服务器处理。

创建OLE对象的服务器决定了OLE的激活方式。如果一个OLE1.0的对象在OLE2.0 编译的应用程序中打开,它将采用OLE1.0的方式。

8.1.2 链接与嵌入

链接对象的数据保存在OLE服务器创建的文件中,嵌入对象的数据保存在OLE应用程序中。

链接对象必须以文件形式保存,只有对OLE服务器已经创建好的OLE对象, 才能进行OLE链接,链接的OLE对象文件可被OLE应用程序或其它程序进行修改,OLE 服务器和其它OLE应用程序也可以访问和修改OLE对象。对象数据保存在某一处,但可以被多个应用程序访问。

Delphi应用程序可以得到OLE对象文件中的最新数据。当OLE 对象数据被应用程序修改时,这些变化将在所有包含该对象的其它应用程序中体现。

嵌入对象保存在OLE应用程序中,其它应用程序不能访问该对象。只有在OLE应用程序中激活OLE对象才能对其进行编辑。嵌入的OLE对象不需要保存在文件中,所有数据都在应用程序中,这就确保了OLE数据不会被偶然地删除或修改。不足之处是应用程序的规模因为保存了OLE数据而增大了 。

如果用户想保存对嵌入对象的修改,可以把OLE数据存入文件中,本章第3 节将详细讨论这个问题。

表8.1 使用链接或嵌入的原则。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 何时使用链接 何时使用嵌入

─────────────────────────────── 想要对源对象进行修改及将 对源对象进行修改,并将这

这些修改反映到其他与源对 些修改反映在一个特定的应

象链接的应用程序或文本中 用程序或文本中

源对象可能被多个OLE应 源对象不可能被一个OLE应

用程序应用程序频繁修改 用程序频繁修改

源对象的文件不会被频繁移 源对象的文件可能被频繁移

动,且不会被删除 动,且不会被删除

对象很大,一般通过网络或 对象很小,或对象很大却无法{不能对象嵌入}.

电子邮件进行分配 通过网络或电子邮件进行分配

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

8.1.3 设计状态OLE对象的创建

在Delphi中,可分别在设计状态或运行状态创建OLE对象,表8.2说明了两种状态创建对象的差别。

表8.2 设计、运行状态OLE对象的创建

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

设计状态OLE对象的创建 运行状态OLE对象的创建 ──────────────────────────────────────

对象保存在运行文件中,增加了所需 对象保存在一个文件中或只在运行时 编译的程序的规模 才有,减小了编译程序的规模

开发者需在设计时访问OLE服务器 开发者不需要在设计时访问OLE服务器 运行时OLE对象已经创建,减小了 运行时OLE对象已经创建,增加了运行 运行时间 时间

OLE对象在设计运行时间可行性编辑 OLE对象只能在运行时编辑

应用程序的OLE对象数目在设计时已 应用程序可以在运行时创建新的OLE对

经确立 象

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

在设计状态,OLE服务器不能被本地激活,只能在自己的窗体内激活。但在运行状态,

只要OLE服务器支持本地激活,就可以使用这种方式。

8.1.4 OLE类、文件、项目

OLE类决定创建OLE对象的服务器。有些应用程序需要创建多种类型的OLE对象,例如应用程序同时链接或嵌入公式、图片等。OLE类也决定OLE对象所包含的数据类型,链接或嵌入对象均要定义OLE类。

OLE文件是包含OLE对象数据的源文件。链接对象必须使用对象文件,因为链接对象在文件中保存。如果应用程序从已存在的源文件中创建嵌入对象,也要使用OLE文件。例如,如果链接到QuattiPro笔记本的OLE对象TUTOR.WBI存储在D:\DFFICE\QPW目录下,则OLE文件就是D:\DFFICE\QPW\TUTOR.WBI。值得注意的是OLE文件只能为链接对象所定义,而对于嵌入对象,只需定义OLE类。 OLE项目是代表链接或嵌入数据的OLE文件中的一部分。当应用程序希望OLE对象包含比OLE文件小的数据块时,则必须使用OLE项目。

例如,在QuattiPro笔记本中,OLE对象链接了GasCosts的B4 到B5 范围的网格,OLE项目是$GasCosts;$B$4.$B$5。

8.2 设计状态OLE对象的创建

Dephi可以在设计状态和运行状态中创建OLE对象。本节介绍设计状态OLE对象的创建。

8.2.1 TOLEContainer部件

要创建OLE对象,需在窗体中加入OLE包容器部件。 应用程序部件包含链接或嵌入的对象。用该部件可显示在OLE服务器编辑的数据。部件的ObjClass,ObjDoc,ObjItem 属性分别定义OLE类、文件、项目。要定义OLE对象是否本地激活,使用InPlaceActive 属性。如果OLE对象可以本地激活,OLE服务器菜单将与OLE应用程序的菜单进行融合,GroupIndex属性的值将决定菜单融合情况。{不能对象嵌入}.

8.2.2 OLE对象创建的步骤:

1.在窗体中增加OLE包容器部件;

2.在Object inspector中单击ObjClass或ObjDoc属性的省略按钮,将出现插入对象对话框;

3.如果要插入的OLE 对象已存储在文件中,选择“Creat From File”,而后定义该对象的文件名和路径名。如果是链接对象,则选择链接检查框。 如果是嵌入对象,选择“Creat new”,并在对象类型列表框中选择OLE对象;

4.选择OK按钮;

如果是创建新对象,OLE服务器将激活,则可对OLE对象进行编辑,完成编辑后关闭OLE服务器。典型的例子是单击服务器中的“File”或“File|Update”菜单。

5.此时ObjClass属性中包含了相应的值,如果OLE对象从已存在的文件中创建或插入一{不能对象嵌入}.

个链接对象,ObjDoc属性包含了OLE文件。

在设计对象状态时也可以粘贴OLE对象,其步骤如下:

1.激活服务器应用程序,选择OLE包容器部件;

2.在服务器中,将数据或对象拷贝到剪切板;

3.进入Delphi集成开发环境,选择OLE包容器部件;

4.在 Object inspector窗体中选择ObjItem属性的省略()按钮;

5.在列表中选择OLE对象;

6.选择“Paste"创建一个嵌入对象或选择"Pastelink"创建链接对象;

7.选择OK。

OLE包容器部件在此时初始化。如果粘贴一个嵌入对象,ObjClass属性将包含适当的值。如果粘贴一链接对象,ObjClass,ObjDoc,ObjItem属性将全部定义。OLE 应用程序部件包含代表OLE对象的图片。

如果OLE服务器程序支持OLE对象的拖放功能,则在设计状态从服务器中拖动对象至应用程序,应用程序将创建链接对象,具体步骤:

1.激活服务器,并Delphi集成开放环境中选择要链接的对象;

2.按隹鼠标左键拖动OLE对象至设计状态的窗体;

3.松开鼠键释放OLE对象。

窗体将创建OLE应用程序并进行初始化。

8.3 OLE应用程序的开发

Delphi可以在设计状态和运行状态创建OLE对象,上一节介绍的是在设计状态如何创建OLE对象,这一节将通过例程介绍如何在运行状态创建OLE对象、粘贴对象、拖动对象,以及OLE 对象的文件操作。我们开发的 OLE.dpr是一个OLE应用程序的实例

8.3.1 OLE应用程序界面开发

OLE.dpr采用了多文档界面,父窗体有菜单,工具条,状态条,子窗体有一个OLE包容器部件,下面分别加以介绍。

8.3.1.1 OLE应用程序的菜单

OLE应用程序的菜单与其它应用程序的主菜单大体一致,如果应用程序中有支持本地激活的OLE 2.0对象,则要进行菜单融合。查阅OLE 服务器的资料可知道服务器是否支持本地激活。

OLE应用程序菜单的GroupIndex属性决定融合菜单的位置,即融合菜单是更换主菜单,还是插入至应用程序的主菜单中。

OLE服务器,将融合三组菜单:Edit,View,Help,每组菜单分配了唯一的组索引值。在OLE应用程序中任何索引值为1,3,5的菜单组在菜单融合时被OLE

篇四:《excel2010 此工作薄包含嵌入对象,可能不发从这些对象中删除个人信息,的解决方法》

Excel2010文件保存时候,总是出现如下提示,该如何借据?

1、单击“文件”,如下图示

2、“点击”选项,如下图示

{不能对象嵌入}.

3、点击“信任中心”

4、点击“信任中心设置”

将文档特定设置下面的,“保存时从文件属性中删除个人信息”前面的复选框取消即可。

篇五:《对象链接和嵌入用户控件》

对象链接和嵌入用户控件(OCX)是一种可以由在微软的Windows系统中运行的应用软件创建使用的特殊用途的程序。OCX提供操作滚动条移动和视窗恢复尺寸的功能。如果你有Windows系统,你会发现在你的Windows地址录里有大量OCX文件名后缀的文件。 对象链接和嵌入(OLE)被设计来支持混合文档(包含多种资料类型,比如文本、绘画图像、声音、动画)。Windows桌面就是一个混合文档的范例,微软使用OLE来建立的。OLE和组件对象模型(COM继OLE后的更常用的概念)支持“即插即用”程序的发展,“即插即用”程序在系统中可以用任何语言写入并可以由任何应用程序动态地使用。这些程序被认为是他们在其上运行的container的组建和应用程序。这种基于组件的近似应用程序的发展缩减了程序调试时间并改善了程序的性能和品质。Windows应用发展程序(比如powerbuilder和Microsoft

Access)具有OCX的优势。

后来随着Internet的流行,微软又让网页中可以嵌入OCX,并称其为ActiveX控件。目前可以编写OCX的工具包括VB、VC、Delphi。易语言也即将支持OCX。

【转】Activex、OLE、COM、OCX、DLL之间有什么区别?

熟悉面向对象编程和网络编程的人一定对ActiveX、OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多们还是比较模糊的。在具体介绍它们的关系之间,我们还是先明确组件(Component)和对象(Object)之间的区别。组件是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象(Rules Object)。组件看起来像对象,但不符合对象的学术定义。它们的主要区别是: 1)组件可以在另一个称为容器(有时也称为承载者或宿主)的应用程序中使用,也可以作为独立过程使用; 2)组件可以由一个类构成,也可以由多个类组成,或者是一个完整的应用程序; 3)组件为模块重用,而对象为代码重用。现在,比较流行的组件模型有COM(Component Objiect Module,对象组件模型)/DCOM( Distributed COM,分布式对象组件模型)和CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)。到这里,已经出现了与本文相关的主题COM,而CORBA与本文无关,就不作介绍。之所以从组件与对象的区别说起,是想让大家明确COM和 CORBA是处在整个体系结构的最底层,如果暂时对此还不能理解,不妨继续往下看,最后在回过头看一看就自然明白了。现在开始阐述ActiveX、OLE和COM的关系。首先,让大家有一个总体的概念,从时间的角度讲,OLE是最早出现的,然后是COM和ActiveX;从体系结构角度讲,OLE和ActiveX是建立在 COM之上的,所以COM是基础;单从名称角度讲,OLE、ActiveX是两个商标名称,而COM则是一个纯技术名词,这也是大家更多的听说ActiveX和OLE的原因。既然OLE是最早出现的,那么就从OLE说起,自从Windows操作系统流行以来,;剪贴板”( Clipboard)首先解决了不同程序间的通信问题(由剪贴板作为数据交换中心,进行

转载请注明:中小学优秀作文大全_作文模板_写作指导_范文大全 » 不能对象嵌入 错误嵌入对象无效