Share via


Propriedade Shape.ProgID (Visio)

Retorna o identificador programático de uma forma que representa um controle ActiveX, um objeto incorporado ou um objeto vinculado. Somente leitura.

Sintaxe

expression. ProgID

Expressão Uma variável que representa um objeto Shape .

Valor de retorno

Cadeia de caracteres

Comentários

A propriedade ProgID cria uma exceção quando a forma não representa um controle ActiveX ou um objeto OLE 2.0 incorporado ou vinculado. Uma forma representa um controle ActiveX, objeto incorporado ou objeto vinculado quando a propriedade ForeignType retorna o valor visTypeIsOLE2.

Use a propriedade ProgID de um objeto Shape ou OLEObject para obter o identificador programático do objeto. Cada classe de objeto OLE armazena um identificador programático para si própria no registro. Normalmente, isso ocorre quando o programa que atende esse objeto se instala. Os programas clientes utilizam esse identificador para identificar o objeto. Você está usando o identificador do Microsoft Visio ao executar uma instrução como GetObject ("Visio.Application") de um programa do Microsoft Visual Basic.

Estas são as sequências que a propriedade ProgID pode retornar:

 
Visio.Drawing.5 
MSGraph.Chart.5 
Forms.CommandButton.1 

Depois de usar a propriedade Object de uma forma para obter uma interface IDispatch no objeto que a forma representa, você pode obter a propriedade ClassID ou ProgID da forma para determinar os métodos e propriedades fornecidos por essa interface.

Exemplo

Esta macro do VBA (Microsoft Visual Basic for Applications) mostra como obter a coleção OLEObjects de uma página ativa e imprimir na janela Immediate a propriedade ProgID de cada objeto OLEObject. O exemplo pressupõe que a página ativa contenha pelo menos um objeto OLE 2.0 incorporado ou vinculado ou um controle 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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.