Propiedad Shape.ProgID (Visio)
Devuelve el identificador de programación de una forma que representa un control ActiveX, un objeto incrustado o un objeto vinculado. Solo lectura.
Sintaxis
expresión. ProgID
Expresión Variable que representa un objeto Shape .
Valor devuelto
Cadena
Comentarios
La propiedad ProgID genera una excepción si la forma no representa un control ActiveX o un objeto incrustado o vinculado OLE 2.0. Una forma representa un control ActiveX, un objeto incrustado o un objeto vinculado si la propiedad ForeignType devuelve visTypeIsOLE2 en el valor.
Use la propiedad ProgID de un objeto Shape u OLEObject para obtener el identificador de programación del objeto. Todas las clases de objetos OLE almacenan un identificador de programación propio en el Registro. Normalmente, esto ocurre cuando el programa que sirve el objeto se instala a sí mismo. Los programas cliente usan este identificador para identificar el objeto. Está usando el identificador de Microsoft Visio al ejecutar una instrucción como GetObject (,"Visio.Application") desde un programa de Microsoft Visual Basic.
La propiedad ProgID podría devolver cadenas como estas:
Visio.Drawing.5
MSGraph.Chart.5
Forms.CommandButton.1
Después de utilizar la propiedad Object de una forma para obtener una interfaz IDispatch del objeto que representa la forma, puede obtener las propiedades ClassID o ProgID de la forma para determinar los métodos y las propiedades que suministra dicha interfaz.
Ejemplo:
Esta macro de Microsoft Visual Basic para aplicaciones (VBA) muestra cómo obtener la colección OLEObjects de una página activa e imprimir la propiedad ProgID de cada objeto OLEObject en la ventana Inmediato. En este ejemplo se da por hecho que la página activa contiene al menos un objeto incrustado o vinculado OLE 2.0 o un control ActiveX.
Public Sub ProgID_Example()
Dim intCounter As Integer
Dim vsoOLEObjects As Visio.OLEObjects
'Get the OLEObjects collection of the active page.
Set vsoOLEObjects = ActivePage.OLEObjects
'Step through the OLEObjects collection.
For intCounter = 1 To vsoOLEObjects.Count
Debug.Print vsoOLEObjects(intCounter).ProgID
Next intCounter
End Sub
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.