Compartilhar 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. Está a utilizar o identificador do Microsoft Visio quando executa uma instrução como GetObject ("Visio.Application") a partir 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.