每当在窗体上拖放一个 OLE 容器控件,Visual Basic 都显示“插入对象”对话框。如图 10.10 所示,在设计时使用这个对话框来插入链接或嵌入的对象。“插入对象”对话框中,出现一个能链接或嵌入应用程序的可用对象的清单。
图 10.10 “插入对象”对话框
当在设计中把对象插入 OLE 容器控件时,Class、SourceDoc 和 SourceItem 属性就已经自动设置好了。这些属性标识:提供该对象的应用程序、源文件名和该文件内部链接的所有特定的数据。关于用于 OLE 容器控件的各种属性和方法的更详细的信息,参阅“运行时插入对象”。
当插入一个链接对象时,显示在 OLE 容器控件中的数据只存在于一个地方—源文件中。从任何其它的、与对象的当前数据相链接的应用程序都可以查看那个数据。OLE 容器控件保持着对象的链接信息,例如提供该对象的应用程序名、链接文件名和链接数据的图象。
要使用“插入对象”对话框来插入链接对象,请按照以下步骤执行:
显示“插入对象”对话框。也可以在任何时候单击鼠标右键“OLE 容器控件”,然后选择“插入对象”命令来显示此对话框。
显示“浏览”对话框。
使用链接对象时,每一个运行这个应用程序的用户都必须能访问(有效路径)该链接文件,并具有创建该文件的应用程序的复件。否则,当应用程序运行时,将显示原始数据的图象,但用户不能更改数据,也不能看到其他用户对链接数据进行的更改。如果此应用程序是在网上运行,就会出现问题了。
如果应用程序包含一个链接对象,当应用程序没运行时,对象的数据可能被另一个应用程序更改。下次应用程序运行时,对源文件的更改不会自动出现在 OLE 容器控件中。若要在 OLE 容器控件中显示当前数据,则要使用控件的 Update 方法:
oleObj.Update
详细信息 请参阅“Update 方法 (OLE 容器)”。
如果用户想保存对链接对象的更改,用户必须从 ActiveX 部件的菜单里保存它。OLE 容器控件的 SaveToFile 方法仅应用于嵌入对象。
当创建嵌入对象时,既可以从文件中嵌入数据,也可以创建一个新的、可被以后的数据填充的空对象。当从文件嵌入数据时,OLE 容器控件中显示的是指定文件的数据复件。当创建新对象时,调用创建对象的应用程序并可以把数据输入对象。
一般来说,在设计时创建显示已存在的数据的嵌入对象。这样可以查看对象的数据,同显示给用户的一样。然后,移动和调节 OLE 容器控件和窗体上其它控件的大小,创建自己的应用程序的用户界面。
要显示存在于嵌入对象中的数据,以现存的文件为模板来创建对象。OLE 容器控件将包含该文件中数据的图象。使用嵌入对象显示数据的应用程序,将比使用链接对象显示同样数据的应用程序大,因为有嵌入对象的应用程序实际上包括了源文件的数据。
要用现存文件创建嵌入对象,请按照以下步骤执行:
自动显示“插入对象”对话框。
显示“浏览”对话框。
与链接对象中的数据不同,嵌入对象中的数据是不持久的。换句话说,如果想让用户输入的更改在下次应用程序运行时出现,就必须使用 SaveToFile 方法来保存数据。关于把嵌入数据存入文件的详细内容,请参阅本章后面的“保存和恢复嵌入的数据”。
在设计时创建对象的另一个方法是使用“选择性粘贴”对话框(如图 10.11 所示)。如果只想利用文件的一部分,例如,电子数据表中一定范围内的单元,或 Word 文档中的一段,那么这个对话框就很有用。
图 10.11 “选择性粘贴”对话框
要使用“选择性粘贴”对话框来创建对象,请按照以下步骤执行:
数据被复制到剪贴板上。
-或者-
若要创建链接对象就选择“链接粘贴”选项按钮。
如果控件中已经有了嵌入或链接的对象,就会有一个消息来询问是否要删除现有的对象,并在其位置中创建一新对象。