Shape.InsertObject 方法 (Visio)
将新的嵌入对象或 ActiveX 控件添加到页面、主控形状或组中。
语法
expression。 InsertObject
( _ClassOrProgID_
, _Flags_
)
expression 一个代表 Shape 对象的变量。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
ClassOrProgID | 必需 | 字符串 | 标识要创建的对象或控件的类型。 |
Flags | 必需 | Integer | 影响操作的标志。 |
返回值
Shape
说明
ClassOrProgID 是标识要创建的对象或控件类型的字符串。 它可以是以字符串表示的对象或控件的类 ID (GUID),也可以是对象或控件的类的句柄的程序 ID。
如果 ClassOrProgID 是代表类 ID 的字符串,则它类似于“{D3E34B21-9D75-101A-8C3D-00AA001A1652}”。
如果 ClassOrProgID 是代表程序 ID 的字符串,则它类似于“paint.picture”或“forms.combobox.1”。
请参阅特定供应商的文档或浏览注册表,以确定哪些类 ID 和程序 ID 与其他应用程序提供的对象和控件相关联。
Flags 参数是一个位掩码,可以包含下列值之一。
常量 | 值 | 说明 |
---|---|---|
visInsertIcon | &H10 | 将新建形状显示为图标。 |
visInsertDontShow | &H1000 | 不执行新对象的显示动词。 |
如果同时指定 visInsertIcon 和 visInsertDontShow,则 InsertObject 方法失败。 如果您想插入一个显示为图标的对象,则必须允许应用程序执行该对象的显示动词。
Flags 参数也可包含下列值之一。
常量 | 值 |
---|---|
visInsertAsControl | &H2000 |
visInsertAsEmbed | &H4000 |
仅当 ClassOrProgID 标识的类在注册表中被标识为可以插入的控件时,visInsertAsControl 和 visInsertAsEmbed 中的值才有效。 如果 visInsertAsControl 和 visInsertAsEmbed 均未指定且对象可以是控件也可以是嵌入对象,则应用程序将其作为控件插入。
在极少情况下,Visio 5.0 或更高版本可能会插入一个控件,而 Visio 的更早版本可能通过插入一个嵌入对象来响应同一调用。 如果插入控件,则此方法将文档置于设计模式,从而导致在文档返回运行模式之前,文档中的任何代码执行都暂停。
警告
向应用程序中添加 ActiveX 控件时要小心。 ActiveX 控件的设计可能导致在使用时带来安全问题。 建议您仅使用受信任来源中的控件。 对所创作的任何控件进行签名。
警告
以任何方式修改 Windows 注册表(无论是通过注册表编辑器还是以编程方式)始终具有一定程度的风险。 不正确的修改会导致严重的问题,可能需要重新安装操作系统。 最好在修改计算机的注册表之前始终对其进行备份。
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。